Bag of ML Words

ML = Machine Learning, Music Love, and Miscellaneous things in daily Livings

Ouyang+, "Training Language Models to Follow Instructions with Human Feedback" よみました

遅くなりましたが、次も読みました。InstructGPT. これでChatGPTにむけての部品が全部そろったってことですね。いよいよ。

Ouyang+, "Training Language Models to Follow Instructions with Human Feedback", arxiv 2022 · Issue #12 · k-ishiguro/Papers-metome · GitHub

 

技術的な部分、とくにRLHFについては中で引用されているNIPS2017の論文のほうが数段わかりやすかったです。のでそちらもおすすめ。

 

Deep Reinforcement Learning from Human Preferences

 

書評:「グリーンジャイアント 脱炭素ビジネスが世界経済を動かす」 

総評:良かったです。脱炭素・グリーンビジネスの現状について認識を大いに改めされられました。

 

最近、自己啓発とかPDCAとかそういうのばっかりだったのですが、これは別の話題でヒットきたです。

 

21年9月に出版ということなので、それほど古くない情報になっていると思います。コロナ禍は言及されており、ロシアのウクライナ侵略には触れられず。

 

脱炭素、地球温暖化に対するアクションは、世界的にはもうファッションではなく、政治的ポジショントークでもなく、巨額のマネーが動く現実のビジネスの潮流として動いていて世界の政治もそれを補佐・加速することで生き残りを図っていることがいくつかの側面から語られています。

 

表題のグリーンジャイアントは、脱炭素ビジネスに賭けて急激な成長に成功した企業たちのことで、多分(IT)Tech ジャイアントとの対比だと思います。保護産業的な色合いが濃い(はずの)エネルギー業界でプレーヤーと資本分布の大変化が進行中で、「ああもうこれは止まらないんだろうな」というのが良くわかります。

最終章、日本の生き残る道についての章の内容だけは???って思いましたが・・・*1

 

SDGsや脱炭素、地球温暖化についての話題が「まあベターな生き方だよねぇ、でもまあ半分ファッションだし、SDGs/カーボンニュートラル経営ははやりもの」ぐらいの認識でいた(私だ)方は一読の価値があると思います。

 

 

 

*1:まあご愛敬、というか、この章を書かないと絶望のままで読者が終わってしまうから?

Brown+, "Language Models are Few-Shot Learners", NeurIPS 2022 ---- ただのスケール則論文??

github.com

 

遅れに遅れたが、GPT-3も読みました。GPT-2との違いは、圧倒的なスケールアップだけなんですが、それが(タスクによっては)きれいに性能向上につながっており。

ただ、スケールアップしすぎて、もう誰も再実験できなさそうなBig Scienceの世界になっている。API叩くくらいしかできなそう。

あと、知的にワクワクする感じはなかった。GPT-2と仕組みは一緒ですからね・・・ 

 

次はChatGPTでもキモとなるRLHF論文。こっちのほうが楽しみ

Radford+, "Language Models are Unsupervised Multitask Learners", OpenAi Tech Rep. 2019 (a.k.a. GPT-2) 読んだ

GPT-2もなんとか書いたぞ・・・

まだ、まだビハインドではないはずだ

 

正直、GPT-1論文ほどの感動がなくて、当時もうーんと思った覚えがある。今もうーんとなっている。

 

次、GPT-3。世のbotとか、GPT-3 APIになってからクオリティが上がった気がするので、gpt-2からの差はどこにあるのか興味。

 

github.com

Radford+, "Improving Language Understanding by Generative Pre-training", 2018

まずは最初のコミットメントとして。ちゃんと読んだぞ・・・

次はGPT2

 

Radford+, "Improving Language Understanding by Generative Pre-training", 2018 · Issue #9 · k-ishiguro/Papers-metome · GitHub

2023年のゴール(仕事編)

去年、行動の改善・習慣化の本をたくさん読んだわけですが、そこで書いてあるのが「宣言効果」の利用です。

つまり、「これやるぞ」と宣言してしまうと、いった手前というプレッシャーが自分にかかるので、困難な習慣の習得などに成功しやすという話です。

 

これ、結構精神的ハードルが高いんですが、ならばこそ、という気分なので、今年の目標を書いてみます。

 

論文を読んで、アウトプット(公開)する営みをします

1人称で論文研究を進める道を究めるのは諦めたと書きましたが、機械学習の研究から離れたいということではないです。

むしろ、自分の最大のコアコンピタンスとして、手を動かす研究をしなくても理解できるようにならないといけない*1、そしてキーとなる新成果だけでも完全に理解していかないと、若く優秀なリサーチサイエンティストのお手伝いが早晩できなくなります。

 

今年を振り返って愕然としたのですが、査読を除いて能動的にMLの論文を読もうとした、という記憶がない。実際、一昨年の11月に状況が変わってから、プロジェクトで必要な論文以外は読んでない(必要な論文の守備範囲は広くなったので、乱読状態)。

これではコアコンピタスが消えてしまいますが、昔のように論文読みに圧倒的に時間をかけるのはできないので、arxivを眺めて気になるやつを好きなだけ読む、みたいな贅沢なアプローチはできなさそうです。

 

じゃあ、どうするか、ということなんですが、考えたのは、今年に関してはここ数年の重要論文を追いかけて追いつく年にしようと思います。

そこで、あるテーマを決めて、それに関して重要そう・ブログ記事とかで話題になってた論文数点(月4本くらい)*2を事前に選んで、それらだけを読んでいく。というやり方で行ってみようと思います。

論文を読んだら、落合先生フォーマットでGithubでまとめ記事を書いていたので、それを利用して、ここで記事へのリンクを貼っていこうかなと思います*3

 

今年で学んでおきたいテーマは

- まず初手はGPTで行こうと思います。GPT-1, GPT-2, GPT-3、そしてchatGPTに至る流れを、他人の日本語ブログ記事でなく自分で原論文orテクレポに当たろうと思います。

- diffusion model. ただ、これだと広すぎるので、diffusionの中でも話題をしぼって、複数のテーマに分割が必要。cold diffusionみたいなのは面白そう

- GPTと絡みますが、prompt trainingが気になっています。fine-tuningすらできない世界というのは自分にはまだ理解できない・・・

 

プロジェクトマネージャーの機能とマインドを実践してlearnしていきます

現状、所属するプロジェクトには公式にはマネージャーはいなくて、メンバー各々がふんわりとやるべきことを進めていくのと、プロダクトオーナーが時々ハードデッドラインを与えて締める、という感じになっています。

なので、自分も何も権限はないんですが、マネージャー仕草として実践できる・実践したらプロジェクト全体に救いがあるような機能をlearnしていきたいと思います。実質、マネージャーのロールをとれる範囲でとるって感じですかね・・・

 

いま読んでいるプロマネの本には、プロジェクトマネージャーは言語化が難しいステータスを、可視化言語化してプロジェクトメンバーに示すことで、プロジェクトの問題を未然に防いだり、改善施策を提案して実装したり、というのが書いてありました。

 

なので、そういう機能を、一部でも、今年で身に着けていきたいと思います。

 

KPIに仕立てるのが難しいんですが、たとえば

- 一応、少し長期的(3-6か月)でどんなことをしないといけないかは、拙いながら考えて言語化してきているので、これを3か月ごとにチームに共有して、現状確認とバックログアイテムの追加方針を提案してみんなで揉んでもらって良くする*4

- 毎週、バックログアイテムを上記方針に従って複数個修正する。また、バックログアイテムの開始日を記録するようにして、時間かかり過ぎなアイテムの手当てを検討・提案するようにします。例えば週4アイテムの改善、とか

- このような行動を通じて、「プロジェクトの改善につながることを常に提案していく」「それをすぐ手をつける」という姿勢(すぐやるマン)を習慣的に刷り込みます

 

 

以上の営み、KPIを達成するために、日々・週ごとの行動計画を立てて実行していく、ということでしょうか・・・

*1:大体、自分で式をノートに書き下して、簡単実装でも実験しないと理解できない自分にはより厳しい

*2:KPI!!

*3:今までは社内と社外で書いていたのですが、その余裕はないので、社外だけで書いて社内にもそれを共有していこうかなと

*4:勝手に決められるわけがないし、きっと意図はずれる

2022年振り返り

今年のゴールとおすすめ本3冊 - Bag of ML Words (hatenablog.com)

 

を見直して、じゃあ結局どうなったか?という振り返り。

 

仕事やキャリアの方向性について

 

まあもう書いてもいいかと思うんですが、純粋に基礎研究を1人称でやっていくことを生業にするのは、ひとまず断念しました。昔からうすうす向いてない気はしていたのですが、ある種の断罪を得たので。

今は、研究フレーバーもありげな国プロを回しています。そう、「回す」人になるべく修行しようとしています。プロジェクトマネージメントですね。これは、昔からの最終的なキャリアの目標と方向が合致している*1ので、まあ悪くはないと思っています。転職エージェントさんと話していると、ガチのML屋能力を持つ人は生涯エンジニア・生涯リサーチャーの道を究めようという人が圧倒的大多数で、マネージメント・経営寄りの理想をもつ人は少ないそうで、それも良いことかなと。

 

マネージメントといっても、「管理(control)」ということではなくて、「なんでもやってプロジェクトをどうにか前に進める(manage to proceed)する」というマネージメントを目標に活動してきました。

個人的には、その通りできて、他の誰もとらないけどやらないといけないことを徹底的に拾ってきたのと、3月まではワンマンですべて動かしていたので、それを4月から入ったチームメンバに展開共有して、強化発展実装分担してもらうようになった、という状態。

 

理想を言えば、もっと研究開発計画を主体的にリードしたかった。つまりProduct Ownerの業務を「自主的に奪って」引っ張りたかった。この部分はコーチおよびpeople managerにも指摘されているのですが、まだできていない。

一つは、結局覚悟が足りなくて、そういう態度をとるのが怖い(「偉そうなこといいやがって、お前は結局正当なラインじゃないのに」とか思われそう)。あとは、上記の「なんとか進める」マネージメント業務(に付随するタスクたち)だけで体壊しかけてるぐらいいっぱいいっぱい

 

良き行動の習慣化

 

これは引き続き強化運用できています。忙しくなるとKPTの評価が忘れがちになるんですが・・・

(i) 毎日毎週のKPTと達成したタスクを毎週末に明記してrecall

(i-1) 余裕があれば、達成タスクに係った時間を確認して、効率が悪かったタスクを特定。そういうのはやらないようにする

(ii) 「より良き人」になるための行動目標を毎週書き出す。今週の目標の達成度合いと、学びなどを振り返って、来週の目標を設定する

 

 

アンガーマネジメント

 

まだまだ精進が必要ですが、下にリンク貼ったアンガーマネジメント本の実践は引き続きできていて、有益と思っています。

これは一時期アンガーログを書くようにしていたのですが、それをしなくても怒りの客観視がある程度できるようになってきました。その結果、怒りを爆発させることは減ってきたような気がします。あるいは「悟り」・・・?

 

 

反省:もっと目標を明確に立てて、明記する

厚切りジェーソンさんの本(これは簡単に読めてよかったです。メッセージも明確。おすすめ。)でも、一分間マネージャー(おすすめ書籍:「新1分間マネジャー」 - Bag of ML Words (hatenablog.com))の記事や「後回しにしない(おすすめ書籍:「「後回し」にしない技術」 - Bag of ML Words (hatenablog.com)」の本でも書いてあって、他にもいくつも本を読んだのですが、共通しているほぼ唯一のベストプラクティスが、「明確に目標を立てて、日々の行動をそれに対する進捗の有無で評価修正する」ことです。

あと、ハイディ・ハルバーソン博士の著書(「やってのける」これも良書です!)でもかいてありました。こちらだと目標をさらにタイプに分けて使い分けるという口頭テクニックが紹介されていましたが、そこまでは至らず・・

 

話を戻します。この方針自体は良くて、取り込んでいます。ただ、この目標を「いい目標」にしようとして、難しかった・・・てのが今年の最大の反省ですかね・・・。

これはあらゆることに関してですが、自分はどうも完璧主義、あるいはきれいな形が事前にできないとスタックしやすい性質を持っているようです。

完全に最強の人生目標を立てれればそれは最高だけど、それができていない状態で、合目的に行動の評価修正をしていくと、サブオプティマルな解に進んでしまうのでは?とう恐れが先に立って、「行動をしなくなってしまう」という悪癖があることを自覚しています。

これは毎日毎週の開発タスクでも同様で、チームを改善するためのタスクやイシューも不完全だと提唱も実行もできない。

このことに気づいたので、日常行動では、「すぐやるマンだ!」という掛け声で鞭を打ってまず手を付ける、というのを心がけているのですが、人生・キャリアレベルの大目標については、結局明解に言語化した目標を最後まで立てられませんでした。

 

これは振り返ればもったいなくて、大目標が変わってもいいので進捗の評価・勾配をとるための仮大目標を立てて、動いたほうが良かった・・・・。行動しないのが愚の骨頂だとすると、目標を立てずに動くのはおろか、仮目標であってもいいのでそれに対する進捗と勾配を改善すべく行動すると、大域最適ではなくても確実にパラメータの更新という「実績」を得るので、かならず少しでも「改善」はする。この少しの実績と改善を積み重ねることが、最適な勾配を得ることよりも大事ってことですね・・

*1:この先に、よりハイレベル、あるいは経営的な観点からのR&D活動のリードという最終目標がある