どうもこんにちは
今回は良い研究をするためには
学生研究者のための実践ガイドというタイトルで
ちょっと話してみたいかなと思います
この話なんですけども
これまで自分は大体
そうですね
修士課程から20年くらい
自分研究ですね
主にNLPの分野の研究に携わっているんですけども
その自分の研究経験ですとか
あとは共同研究者とか
後輩やインターンにアドバイスした内容が
ベースになっています
こうやって話しているんですけども
自分はそもそも良い研究をしてきたとは
あんまり自慢できなくてですね
ただ一応大企業ですね
マイクロソフトとか
Googleでインターンして
研究開発してきた経験ですとか
あとスタートアップですね
Duolingo
これも前ちょっと話しましたけど
そこでの研究経験とか
あとアカデミアですね
普通に修士課程
博士課程と
あと今所属している
Earth Species Projectというのも
ある程度アカデミアにかなり近い団体なので
そこでの経験ですとか
あとフリーランスですね
Duolingoを退職してから
しばらくフリーランスとして
働いてたんですけど
そこでの他のアカデミアの人とか
企業の研究者の人とかの
コラボというのを通じて
そこで自分が体験してきたこと
というのを
ここでシェアしたいと思います
あと一応自分も本当に
これといった
自慢できる業績があるわけではないんですけど
一応学生の時に
言語処理学会ですね
最優秀論文書を
いただいたりとか
あと最近だと
COLINGですかね
言語学NLPの学会ですけども
そこでベストペーパー候補として
選ばれたりとかですね
あとは
一番最近だと
ICLRの
ICLRですね
そこでコアの著者の一人として
論文が採択された
という一応
経験があるので
少しそういう成功体験も含めて
お話したいかなと
思っています
質よりも幅広さ
みたいな感じで
アドバイスできるかなという風に
思っています
この
エピソードの
対象にしている方なんですけども
主にアカデミアですね
修士博士課程の
学生さんとかポスドクの方
とか
割と研究トピック
研究内容に自由の利く
比較的
大規模な企業の研究者の方を
対象にしています
割と
研究トピックの
選択に自由が利く人向け
ですね
逆に例えば企業の開発者ですとか
エンジニアの方とか
スタートアップみたいなところは
ちょっと対象
にならないかなと思います
という感じで
まず一番最初に
なぜ
良い研究をするかと
いうことについて
ちょっと触れたいと思うんですよね
なぜ研究の質が
大事か
という話なんですけども
もちろん
いろんなモチベーションはあると思うんですよね
企業の場合だと
あらかじめ研究トピックが
決まっているかもしれないし
研究室とか
所属組織によっては
研究のトピックって
ある程度固定されていることが
多いと思うんですけども
論文を出したいとか
国内の学会
国際学会で発表したいとか
あと自分のキャリアにつなげたいとか
コミュニティに貢献したいという
モチベーションは
たくさんあると思うんですよね
一つここで
まず一番初めに
ちょっと言いたいことがあって
これは
一番最初のソースは
MITの
ビル・フリーマン
MITの
これちょっと後から
リンクをディスクリプションのところに
貼っておきますけども
How to write a good research paper
っていうプレゼンテーションがあって
そこに一番初めの
スライドに
こんなグラフが載っているんですよね
横軸は
研究のクオリティで
どのくらいいい研究をしたか
縦軸は
自分のキャリアへの影響
ですね
その研究が
どのくらい自分のために役立つか
自分の評判とかに役立つか
っていうそういうグラフを
出しているんですけども
これが面白くて
グラフを見ると
横軸が悪い論文から
まあまあ良い論文で
そこまで
悪い論文
まあまあ良い論文っていうのを出しても
基本的に自分のキャリアへの影響は
マイナスかほとんどゼロなんですよね
で
ただ
非常にこの研究のクオリティが高くなる
一番右まで行くと
クリエイティブで
オリジナリティがあって
質の高い論文になると
急激に
グラフが何だろう
なんて言っていいんだろう
べき定則のグラフの逆バージョンです
突然高くなるって言うんですよね
急激に自分のキャリアへの
ポジティブな影響っていうのが
大きくなりますね
はい
でそのグラフの線が急に跳ね上がってます
でつまり
まあまあ良い論文をたくさん書いても
自分のキャリアに意味がないんですよ
正直
で本当に良い論文を
一本少数書く方が
キャリアへのインパクトは圧倒的に大きい
ってことを表していて
これは本当にそうだなと思うんですよね
なんで
そうですね
キャリアと評判は
自分が出した一番良い研究
もしくはトップ
トップ
トップ3でも良いですけど
の研究の論文の質で決まる
っていうのが
ここで伝えたいメッセージかなと思います
で
理想的には最終的に
何々で有名な
誰々さんっていうような
評判を
もらうっていうのは
本当に理想的なゴールですよね
すごい極端な例で言うと
なんかアレックスネットの
アレックス
クリジェフスキーかな
とかイメージネットの
リフェフェイとか
GPT2とか
ウィスパーの
オープンAIの
アレック・ラドフォードとか
あとGANの
イアン・グッドフェローとか
AlphaGoの
デイビッド・シルバーとか
そういった人たち
この人といえばこれ
これといえばこの人みたいな
そういう名声を
少しでも得れば
本当にもちろん世界
今
挙げた世界レベルの
人たちですけど
そういった名声を
本当に狭い分野でもいいので
もらえたら
それはもう本当に
良い研究
そのさっきのグラフの
一番右側の
そのインパクトっていう意味では
かなり成功してますよね
だから
自分の考えとしては
やっぱり論文の量より質っていうのは
結構大事かなとは思います
そうですね
次に
いい研究をするためには
どこで研究するかっていう
そもそもどこに所属して研究するかっていうのは
やっぱり大事ですよね
その研究する前に
前回ジョインするスタートアップの選び方っていう
エピソードを録音しましたけども
そこで結構そこと結構似てる
とこ点も結構ありますね
やっぱりまず自分が重視するのは人ですね
人
尊敬できる
指導教官の人
上司の人
同僚とか
ラボの仲間がいるかどうかですよね
それは入る前にプロフィールを見て
どういう人かっていうのをチェックすれば
本当に簡単に分かるので
そういうのにチェックする
その人と本当に働きたいかどうか
であとはその人の実績ですよね
で実績なんですけども
その人としての実績と
あとその研究所研究室としての実績
で大体その
ウェブサイトとかを見ると
これまでの出版した論文のリストとか出てるんで
それを見て
自分がこういう研究をしたいかどうか
これに携わりたいかどうかっていうのは
割と簡単に分かると思いますね
はい
でその人の問題で一つ
自分がいつも気を付けてる点は
その結構特にアカデミアに多いんですけども
口だけ出す人
指導者で割と地位も高い人なんですけども
口だけ出して論文も添削するんだけども
実際にあんまりプロジェクトに貢献しない人
そういう共同研究者とか
指導教官の人とかってちょこちょこいるんですよね
そういう人は外から文献のリストを見てるだけじゃ分かんないので
ちょっと難しいんですけども
その人が
過去に第一著者として
どういう論文を出してきたかとか
あとコードを書いた形跡があるかどうかとかっていうのは
結構大事かなと思いますね
GitHub
ちょっと本当に論文を出してGitHubでコードを書いてっていう人は
やっぱりなかなか少数派難しいと思うんですけども
ただそのコードを書いて
例えば昔にオープンソースをリリースしてるとか
そういった
コードを書いた形跡とかいうのも
自分としては結構重視してる要素ではありますね
そういった人と研究所
人としての実績っていうのを見るっていうのが
自分の基本的な考え方ですね
あと所属組織を選ぶとき
特に最近のAI界隈の研究で
良い研究をしたかったらGPUが必要ですよね
なので他の要素が
全部同じだったら
これちょっとアカデミアの方が
少し不利になるのは本当にしょうがないんですけども
計算機資料
計算機資源ですね
GPUの量が多いところに行った方が
良い研究がしやすいですね
なんでもちろんGPUがなくても
少なくても良い研究できるんですけども
GPUの計算機資源の量が
足枷になってしまうと
やっぱりそこは研究にとって損ですよね
なのでGPUが多くて
多ければ良い研究ができるとは限らないんですけども
そこが足枷にならないような
所属組織を考えた方がいいかなとは思います
あとは似たような感じで
データの量ですかね
もちろんパブリックなオープンなデータだけで
研究できないわけじゃないんですけども
やっぱり例えば研究室とか
研究組織内部でしかアクセスできないデータを
持っているとか
データが大量にあってどうしようか困っているとか
そういうところだと
研究課題も思いつきやすいかなと思います
最後にやっぱり
自分の興味のある応用分野とか
アプリケーションを開発しているかどうかというのも
結構大事ですよね
自分の興味と一致しているかどうかということで
これに対して
ちょっと自分がいつも
人におすすめしている論文があって
これはタイトルは
Machine Learning That Matters
っていうタイトルで
キリ・ワグスタフ
っていう人が2012年に出した論文で
これもリンク貼っておきますね
役に立つ
機械学習かな
日本語で言うと
実際の世界にインパクトを与える機械学習
っていうこの論文がすごい好きで
人によく紹介しているんですけども
やっぱり
その2012年の
当時から
機械学習の研究の
評価指標への
非常に過剰なフォーカスに
を批判している
論文ですね
最近でもそうなんですけども
たくさんの研究が
ベンチマークの
性能で
SOTA State of the Artを取ったかどうか
みたいなことが
主な評価ですよね
で
実際にそれが
現実の世界に
どれぐらいインパクトを与えたか
っていうことについて
そこまで深掘りしてる
そこまでフォローアップしている
研究は本当に少ないんですよ
で
その傾向を批判してる論文
オピニオンピースですけども
があります
で
そこに出てくる一つの
すごい極端な例が
UCIアーカイブ
という機械学習の
すごい典型的な
古典的なデータセット集があって
そこにIrisっていう
アヤメ族
その花の
種類の分類問題があるんですよね
その一番
機械学習の研究では
古典的なデータセットだと思うんですけども
その花の
がく片と花びらの長さから
花を分類するという
分類するんですけども
それで一種のテストですよね
ちょっとこれは極端すぎるかもしれないんですけども
その例えば性能が上がりましたと
機械学習で
で
それが本当に生物学ですよね
植物学生物学の分野に貢献しましたかっていう
そこまでいってる論文はないんですよね
で
それは割と最近の
LLMの性能評価っていうことに関しても言えて
その実際の世界に
どのくらいインパクトを与えたかって
自分の研究が
そこまでなるべく近く
つまりアプリケーションが近くにあるような
所属組織とか研究トピックの方が
自分はモチベーションが続きやすいかなという風に
思っています
それでは次の話題で
具体的にどうやって
いい研究のトピックを選ぶかっていうことについて
少し
話したいと思うんですけども
そうですね
まず最初に言いたいことは
英語だとincremental workって言いますけども
小さい改良に過ぎない研究ですね
既存のモデルに毛が生えて
毛が生えただけの研究をしないっていうことですね
でそれによって性能が少し向上しました
っていう論文も発表もたくさんあるんですけども
まあそういうのも
しないっていうのは結構個人的に意識してるところで
自分が研究を始めたの
もう20年くらい前の学生の時なんですけども
その時はもちろん
深層学習とか
トランスフォーマーとか
LLMとか全然なくてですね
ただ機械学習
それまでのルールベースの
自然言語処理から
機械学習を使った自然言語処理っていうのが
結構
流行ってた
ちょうど時期だったんですよね
でその時は
SVM
皆さんご存じない人も多いかもしれないんですけど
サポートベータマシンですかね
を使った
使って何かを解きましたっていう論文とかが
本当にたくさん
言語修理学会とかで発表されていて
でそれがそこから少し経つと
今度はCRFですね
コンディショナルランダムフィールド
を使った
何らかのアプリケーションとか
それが終わると
今度はディープラーニングの世界に
突入するわけですね
RNNを使った
なんとかとか
LSTMですね
ロングショートタームメモリーを使った
なんとかとか
それが終わったら
BiLSTMですね
この時は本当に
BiLSTMが流行っていて
大きな話題になっていて
NLPの問題は基本的に
まず系列を扱うじゃないですか
なので系列をとりあえず
BiLSTMに突っ込んで
学習すると
だいたい解けるみたいな風潮があったんですよね
その後に
系列変換は
Seq2Seqですよね
系列変換モデルを使った
なんとかっていうような
研究が本当に山のように
出てたわけですよね
その後はもちろんディープラーニングとか
トランスフォーマーとか
LLMに徐々に置き換わっていく
いくんですよね
こういう
ビッグウェーブっていうか
こういう流行りを何回も
経験してきて思うことは
その当時ですよね
例えばBiLSTMが
結構いい例だと思うんですけども
その時に出されてた
それまでの研究に
少し改良を加えて
例えば
BiLSTMのアーキテクチャに
少しレイヤー追加して
少し個別の
他のアーキテクチャと
少し融合させせとか
そういうような少しの改良で
性能が上がりましたっていう
そういう研究のほとんどは
5年後にはもう
誰も見てないんですよね
発表されてから
そういうのに使われた
資金と時間っていうのは
基本的に
結果論で言うとやっぱり
無駄になってしまう
もちろん
その後の
研究に
いい影響を及ぼせたらいいんですけども
そういう論文のほとんどは
誰も覚えてないし
本当に業界に対する
インパクトっていうのは少ない
と思うんですよね
なんで
小さな改良をして
SOTAを取りましたっていう
研究が
本当にやる価値があるかどうかっていうのは
少し
研究トピックを選ぶ際に
よく考えた方がいいかなっていうふうに
思っています
個人的にお勧めしてるのが
そのモデルと性能評価以上に
例えばデータセットを作りますとか
データセットプラスベンチマークを作りますと
それに伴って
そのベンチマークで
最近の例えば
LNMを評価しましたとか
そういうのは非常にいいと思うんですけども
そういったモデルが変わっても
主な手法が変わっても
後世に残るような
そういったもの
モデルじゃないものを
作るような研究の方が
自分は結構好きですね
それよりもさらに
メタのレベルで
例えばワークショップを主催するとか
主催するっていうか
オーガナイザーの一人になるとか
あとコンペティション
そういうのが
NLPではシェアードタスクって
よく呼ばれてますけども
そのベンチマークを作ったら
そのベンチマークで
人に論文投稿してもらって
性能でランキングするっていう
そういうコンペティションを主催するというのも
研究のトピックとして
すごいいいかなと思います
自分も何回か主催したことあるんですけども
とても
人とのコミュニケーションという意味でもそうですし
そういったコンペティションを
論文にするっていうのも
その論文自体が結構引用されたりして
後世に残る仕事ができるかなとは思っています
あと
日本の研究者の独自の問題なんですけども
日本語でやってみましたっていう
これまで日本でなかったので
日本語でやってみましたっていう論文も
たくさんありますね
これは自分が主に
日本のアカデミアとか
日本でキャリアを積むなら
自分はアリだと思いますし
やっぱり日本っていう国に対して
日本語話者として
非常に重要なことだなと思います
ただこれも
SOTAかどうかだけに注目していると
OpenAIがすぐ
OpenAIに限らず
他のアメリカとか中国の企業が
良いモデルを出してきて
先を超されてしまうみたいなことがよくあるので
そういった性能だけに注目するのではなくて
日本語独自の問題とか
あと日本語データセットを作るとかっていうところに注目して
日本や日本語話者として非常に重要な研究ができるかなと思っています
ただ自分のキャリアが
日本を出た国際社会とか
国際アカデミア界で
成果を残すっていうことだと
少し微妙かなと思いますね
やっぱり
日本語でただやりましたっていう系の論文は
なかなか
国際学会で通りにくいかもしれないので
もちろん最近はやっぱダイバーシティとか
注目してるんで
そういった論文もたくさん見ますけど
日本語を
データセットとか
ベンチマークの一つとして扱うなら
自分は本当にいい研究の方向かなと思いますね
あとは
日本語に特化しなくても
やっぱ多言語モデルって結構あるじゃないですか
多言語モデルだとやっぱり
例えば欧米の研究者開発者だと
英語とかスペイン語とかフランス語
イタリア語みたいな
割と欧米の言語に
偏っているようなモデルが
バイアスがあるモデルっていうのは結構あるので
そこを是正する意味で
日本語を知っていて
日本語とか中国語とか韓国語とかって
やっぱトークン化がそもそも
めんどくさい難しいっていうところで
そこでこう
そこが一つのハードルになっていて
そういった多言語モデルに
入りにくい傾向があるんですよね
そこを日本語話者として
割と言語に依存しない
モデルを作るっていう意味で
日本語を知ってるってことが結構
貢献になるかなと思っています
あとは
他のやっぱり研究トピックの選び方として
難しい問題にチャレンジするっていうのは
人と違う難しい問題に
チャレンジしてほしいですねぜひ
これはアンドレイ・カルパティ
前テスラのAIのリーダーやってた人
今はAIの教育分野で活躍してますけども
その人がPhDの時に書いた
A Survival Guide to a PhDっていう
ブログ記事があって
これもリンク貼っときますね
これは今主に博士課程の学生さん向けに
書かれたんですけども
その中でどうやって
いい研究トピックを見つけるかっていう
セクションがあって
このブログ自体本当に広く
研究に関わる人にお勧めしてるんですけども
そこで彼が言ってるのは
その問題の難しさっていうのは
その解くときの難しさは
その問題の重要さとか
自分のキャリアへのインパクトに比例して
増えないんですよね
さっきの最初の質のいい研究が
自分のキャリアにすごくいい影響があるっていう
グラフの話したんですけども
その逆で10倍例えば重要で
インパクトの大きい問題っていうのは
普通の問題の10倍難しく感じるけども
実際その問題を解いたり実装するっていうのは
2、3倍難しいだけなんですよね
なので結論としては
難しい問題にぜひチャレンジしてほしいっていう風に言っていて
これも本当に自分も意識してるとこですね
簡単な問題じゃなくて難しい問題
人と違うことにあえて挑戦するっていうのは
一つ重要かなと思います
他にもいくつか研究トピックの選び方について
言いたいことはあるんですけども
あとは研究に対するテイストですかね
どういう研究が良くて悪いかっていうテイストを
磨くような努力をするのがいいかなと思ってて
ある種の二値分類問題ですよね
いい研究と悪い研究で
いくつか方法があって
例えば学会に行くと採択されたいい研究が見れるわけですよね
でベストペーパーとか
受賞した発表とか論文を見ると
ある種の二値分類で
どういった論文がどういった評価を得て
どういった賞を受賞してるかっていうのが分かりますよね
それを読んでみて
どういった研究がいい研究かっていうのが分かりますし
あとは査読をするっていうのも結構
個人的には割とお勧めしていて
これはもちろん研究コミュニティへの貢献になるっていう
だけではなくて
まさに二値分類問題の特に負例ですよね
よくなかった論文にたくさん触れられるんですよね
例えば採択率30%とか20%とか
そういう国際会議も多いと思うんですけども
その悪い方の論文がなぜ悪いか
どういったコメントをもらっているかっていうのが
最近は特にOpenReviewとかで
割とパブリックにそういうのが見えたり
著者とコミュニケーションできたりするので
そういうところに参加するっていうのも
良い研究悪い研究に対するテイストを磨く
っていうことに対していいアクティビティかなと思っています
そうですね
あと最後に研究分野とか
強いては所属先っていうのを変えることを
個人的にあんまり恐れてはいけないかなと
思っています
2018年にNLPでBERTが出てきたんですよね
BERT
これもご存じない方がいるかもしれないですけども
その時にNLPの伝統的なタスクっていうのは
死んだと言われてたんですよね
例えば品詞解析とか
曖昧性解消
構文解析
照応解析ってそういった
例えば機械翻訳とか
文章理解をするために必要な
言語学的な解析問題っていうのを
それまで個別に解いて
その個別に解くモデルがあったんですけども
BERTが出てきて
結局そこのベクトル表現ができて
そこから対象のタスクを直接解けるようになったので
そういった伝統的なNLPタスクはそこで
死んだんですよね
それだけに特定に研究している論文も人も
だいぶ減ったと思うんですよね
そういうことがあって
今回ChatGPTが2022年に出てきて
LLMがメジャーになって
今度NLP自体が結構死にかけてると思うんですよね
NLP自体っていうか
NLPの伝統的なタスクっていうのが
価値が下がっていて
結局LLMを使って
対象のタスクが解ければいいってことで
例えば
その文とかパラグラフを対象にした個別の
個別の研究ですよね
例えば
含意関係認識が日本語で
Textual Entailmentとか
感情分析とか
あと機械翻訳自体とかいうのも
それもLLMのタスクとして解けるようになったので
それだけにフォーカスして研究するっていうのも
変わりつつありますよね
なので自分の知っている研究者の方も
そういった組織も
そういった業界全体の道具とシフトに応じて
研究分野もシフトしていくっていう感じなので
それは個人的にも
そういう外の使える道具ですとか
風潮とか流行に
敏感になって
調整していくっていうのも大事かなと
個人的には思っています
ここで最後に
具体的にどう研究を進めるかについて
自分のアドバイスというか
Tipsをいくつか紹介したいと思います
まず
そうですね
まず人とやる
人と研究をするということが結構重要かなと思っていて
そもそも研究のトピックの選び方でもそうなんですけども
自分一人じゃなくて
同僚とか上司とか
研究仲間っていうのに話すじゃないですか
アイデアを
そこで
その彼らを興奮させられるかどうか
興味を持ってもらえるかっていうのは結構重要かなと思っています
これは特に最近ですね
AIの研究に当てはまると思うんですけども
スケール則によって
やっぱチームの規模がかなり増えてますよね
いい研究は一人でできないんですよ
もちろん他の研究者もそうですし
分担する必要ありますよね
その実装とかも含めて
論文の執筆も含めて
共同作業になりますし
あとエンジニアとか
アノテーターっていう他の職種の人とも
一緒にコラボしないといけないですし
最近の論文見ると分かるんですけども
論文の著者のリストが
膨大になってるっていうか
著者数がすごい大きい
多い論文がよく見えると思うんですけども
あれは本当で
自分の所属している組織でも本当に
一人ではなかなか
いいプロジェクトを
進められなくなってきたんですけども
そういったコラボレーションが大事なので
人とゴールを共有できるか
人を興奮させられるかっていうのは
結構重要な気がしますね
同僚とか指導教官とか
上司とのコミュニケーションも同様で
自分一人で問題を抱え込むんじゃなくて
進捗があったり問題があったり
何か相談があったりしたら
すぐに相談する
すぐに話すっていうのも
サイクルを増やす
ある種のアジャイル環境ですよね
アジャイル開発ですかね
繰り返し的にイテラティブに
短い頻繁なサイクルを回していくっていう方が
自分が結構
研究に対して意識しているところですね
で
研究を進める前に
個人的には
論文のドラフトとか
論文までいかなくてもいいんですけども
簡単なプロジェクトの提案みたいな
ドキュメントを先に書くっていうのを
結構お勧めしてますね
そこにはこの論文
研究のストーリー
どういうストーリーかとか
リサーチクエスチョンですね
ある種の仮説ですけども
自分はこの研究によって
どういったことを示したいかっていう
そのクエスチョン
リサーチクエスチョンと
あとそのためには
こういう実験が必要ですっていう
本当に大まかなプラニングっていうのを
ドラフトに書いて
Google Docとかそういうのでも全然いいんですけども
それを同僚にシェアする
一緒に研究したい人とか
研究の話に乗ってくれた人にシェアするっていうのは
すごい
最初のステップをして大事かなっていう気がしますね
そうすると
どういった実験をしなきゃいけないかっていうのが
先に明確になりますよね
そういうのがなしで実験だけ始めると
後から必要なかったりとか
必要な実験を忘れてたりってことがするので
それを実験が進むにつれ更新していって
最後に論文にするっていうの
そういうプロセスが個人的には気に入っています
あと研究するときには
コードやデータセットの公開を前提に進めた方がいいと思います
これは大変です正直
研究のときって本当に一時的なコードたくさん書いて
コードがぐちゃぐちゃになって
でも一応結果は出ました
論文にしましたっていうこともよくあるんですけども
コードをやっぱり公開した方がもちろん論文はたくさん引用されますし
あと人に見られるっていう前提ですよね
コードを公開すると
やっぱりきれいなコードを書かないといけないので
ドキュメントも含めて
なので人に見られるっていう前提自体が
自分が良いコードを書くモチベーションになるわけですよね
そうすると良いコードを書いた方が
結果的に早く進むっていう場合もあるんですよね
なのでそういうのは結構個人的にはお勧めしています
で
実験するときはぜひデータを見てください
モデルの入力と出力が正しいかっていうことですね
で
最近の特にAIの研究だと本当にとりあえずコードが動いて
自分の必要なデータを入れて
で
ずっとこのWeights and Biasesで損失関数のグラフを見てるみたいな場合が結構あって
どんなタスクでもそれやっちゃいがちなんですよね
で
例えばロスが減ったから良かったとか
なんかロスが変な形してるからおかしいっていうようなことをするんですけども
ぜひその生データとモデルの出力っていうのを
見ると本当にいろんなことが分かりますよね
でその生データがちゃんと前処理されているかとか
モデルがどういう出力を出しているかとか
で特にそのバッチですね
そのまあ
そういうニューラルネットワークのモデルを使うときにはバッチになったデータをよく見るっていう
トークナイゼーションしたら
それがどういう風にバッチ化されていて
でそれを
デトークナイズですね
逆トークン化したらちゃんとデータがそこに収納されているかっていう
これ結構トリッキーなんですよねやっぱりその
ちゃんとテキストがそこに入っているかどうかとか
改行とかをどうやって扱うかとか
違うインスタンスがどうやって入っているかっていうのを見るっていうのは結構重要で
そこで結構バグが入ってしまう可能性があるので
まあバッチをよく見てくださいね
そういうことも結構自分は気にしてます
で
あと実験するときはよくあるのが特に学生さんとか
割と研究者としてあんまりやったことない人とかよくあるのは
とりあえずこんな研究がしたいですと
でこういったモデルとこういったデータセットがあります
でとりあえずデータセットを全部モデルに入れて回してみますと
で結果が出るまで1週間かかりますので待ってくださいっていう
そういう例が結構あって
でそれだと先ほど言ったアジャイル開発的なサイクルが全然回らないんですよね
でなんか1週間経って結果が出て
なんかうまくいきませんと
じゃあデバッグしますっていうことを
それだけですごい時間がかかってしまうんですけども
まず新しいアイデアがあったら小さいモデル小さいデータでいいので
まず例えばモデルデータかデータを10分の1にサンプリングしてやりますとか
まあ本当に100分の1でもいいんですけども
そのデータのサイズによっては
それでこう一晩で
終わるような実験をたくさん回す方が研究としては早くうまくいくと個人的には思います
自分がよくあるのはこういった例えばベースラインのモデルがありますと
でそれをとりあえず小さいデータで回してみましたとか
あとはベンチマークの1個のサブセットだけで回してみましたと
そうすると大体わかるじゃないですかどうやったらうまくいくかいかないかっていうのが
それをどんどんスケール化していくっていうことですね
このアプローチの一つの問題としてはスケール則ですよね
特にLLMとかってある程度のモデルサイズとかデータサイズと計算量がないと性能が向上しないんですよね
なんである程度の例えばデータ量を超えるとこういった新しい機能新しい能力が出てくるっていうそういう論文もありましたよね
なんでそういったところの敷地を超えられないっていうのがあるんですけども
ただそれはそもそも個人的にはそういう土台で勝負しない方がいいと思うんですよね
なんでそのデータ量と例えばモデルサイズと計算量をスケール化したらこうなりますっていうのは
そこはこう大企業とかそういったOpenAIとかわかんないですけどそういうところの土台なんで
自分が研究するときにはそういった同じスケール則で勝負しない方がいいかなとは個人的に思っていますね
でLLMに特化して話すとやっぱりそれもそうなんですけどもなんかこういった問題を解きたいですと
なんでLLMを事前学習しますっていう話になっちゃうこともあるんですけども
やっぱりこうそういった繰り返し的な少しずつ小さいところから始めるってことは何でもできて
例えばLLMの場合は例えば最初ゼロショットですよねプロンプトでやると
でそこでその次に数ショットでFew shotでやるとかで文脈を次どんどん広げていくと
ここまではもう学習全然しないですよねで文脈を広げていって
あとはサンプリングとか推論のスケーリングを試してみるとか
でそれ終わったらRAGのアプローチでやるとか
あとエージェントですね複数のLLMとかタスクを使ってやるとかって
でそこまでいってさらに問題を深く解きたかったら
教師ありファインチューニングをやってみるとかもう事前学習からやってみるっていうそういった方向アプローチの小さいスケールから大きいスケールまでたくさんできるんです
でその個人的にはまず小さいスケールの方を先に試してでどんどんスケールアップするというアプローチを推奨してます
最後に論文として発表するときに個人的に気を付けてることをいくつかお話したいと思うんですけども
最近は特に日本人の書いた論文のタイトルは
研究内容を正確に表しているんですけども
ちょっと長い傾向があるんですよね
最近やっぱりTwitterというかXのソーシャルメディアで
そういう研究とか論文を紹介するという傾向のせいもあると思うんですけども
論文のタイトルがキャッチーになりつつありますよね
Attention is all you needから始まったかどうか知らないんですけども
そういったキャッチーなタイトルとか
あとモデルとか手法とかデータセットとかベンチマークに
分かりやすい覚えやすい名前をつける
手法に名前をつけるというのは非常に重要かなと思っています
そういう名前を同僚と相談したり
分かりやすい名前
これまでと被っていなくて分かりやすい名前をつけるということに
自分は結構時間を使っていると思います
あとは論文を書くときも
これもSNSとかでのシェアするというのにも関係するんですけども
Figure 1ですね
最初の
論文とか手法の概要図というのを
分かりやすくまとめたFigure 1
これはもうある種の図のアブストラクトですよね
図で書かれたアブストラクトというFigure 1を
非常に丁寧にデザインして
それを論文の1ページ目
もう本当にアブストラクトの上に入れてある論文とかも
たまに見るんですけども
ちゃんとそれをデザインして
1ページ目に置くというのは
大事だなと思っています
これは自分自身がデザイン得意じゃなくてもいいんですけども
例えば同じ組織にデザインの得意な同僚がいたりとか
あとその外部の業者に発注したりということも
個人的には方法としてありかなと思っています
SNSでの発表もそうですけども
やっぱり皆さんが読んでいる
出くわす論文のほとんどは
やっぱり例えば学会に参加して
発見するような論文とか
プロシーディングを
その予稿集ですね
予稿集を1個ずつ見たりして
発見した論文じゃないと思うんですよね
ほとんどの論文はやっぱり最近だと
トークですよね
講演で来てくれた人の論文を見たりとか
自分が論文を書く際に
引用した論文ですとか
あとSNSでシェアされていた論文とか
ブログ記事で見た論文とか
YouTubeのトークで見た論文とかっていう
そういったところで見かけたりした場合が
すごい多いと思うんですけども
やっぱりその論文を出すだけじゃなくて
そのプロジェクトとか論文に対して
宣伝する 広報するっていう
こういったプラットフォーム上で
宣伝広報するっていうのも
研究活動の一部
大事な一部かなというふうに
個人的には思っています
あとは良い論文
あとは同僚ですよね
自分の研究仲間 上司とか同僚から
この論文いいよとか
こんな新しい論文あったよって
シェアされて
その論文に気づくっていう場合もあるので
良い論文はぜひ
自分の研究室内で
シェアすると
非常にその
研究室全体のためになるかな
というふうに思ってます
少し長くなりましたが
今回の良い研究をするには
っていうエピソードは以上になります
どうもお聞きいただいて
ありがとうございます