備忘録
自分を忘れないための何らかの記録です
自分を忘れないための何らかの記録です
NTT研の夏季インターンシップに参加しました.夏季インターンシップに関する概要は下記のリンクからご覧ください.
https://www.ntt-labs.jp/internship/summer/
4週間とはいえ,実働したのはだいたい15日間くらいです.というのも環境構築や成果発表の準備をしっかり時間を取って行うため,前後に内容自体にはあまり進展のない時間があります.とはいえ実験をしていればそれは進捗かもしれませんが.大まかにフェーズを分けると以下のようになります.
1週目:環境構築と取り組むことの策定
貸与されたPCにおいて,環境構築を行います.言えば好きな環境を用意してくれるようですが,僕はVSCodeのRemote Containerを用意してもらいました.研究所にあるマシンに接続して使用する形になっています.セキュリティの都合上,ローカルのマシン(Mac)からリモート接続したマシン(Win)からsshでサーバに接続する,といった形を踏んでいたように思います。当然のように(これは当然とは言えないのですが),環境構築に時間を食われてしまうのが良くないと思っていてリモート環境でお互い苦労する点かもしれない.
環境構築が終わればコーディングを始める…わけではなく,まずは研究分野の該当する論文を何本か(10本くらい目を通した気がしますが)読みました.僕は論文を読むのが遅いうえにVision and Languageはほぼ素人の状態で参加しました.基盤モデルの学習手法はいち研究室の学生として触れることがないだろうなあと考えていたことからも,ほとんど触れていなかったので,基礎的なことから何度もメンターさんと確認しながら自分の理解を固めていきます.メンターの方が最強なために乗り切ることができます.論文を読んで、既存手法のデモや実装を読むことでプランのイメージをします.
そして取り組む内容についてですが,これはNLP2023で発表した「DueT: 視覚・言語のDual-adapter Tuningによる基盤モデル」に含まれています.
研究の進め方としては,大枠(効率的な学習手法の構築)は決まっていて,既存研究にはこのようなことがあってこのようなことがない…ということをミーティングで挙げていって,じゃあこれは新規性と言えて,取り組むに値するのでは?というような感じで進みます.実際Adapter Tuningは議論の中で生まれたもので,自分の貢献できた部分なのかなと言えます.
2週目:実装
主に策定した計画に沿って実装をしていきます.ソフトウェア開発弱者なので,拡張性のかけらもないコードを生産しては追加仕様があるたびにコードを全とっかえするみたいな酷いことを何度も繰り返していた気がします.実力のなさが露見してしまいます.詰まりポイントがいくつかあって,それを直しつつモデルを学習させます.
3週目:実験アンド実験
実験します.
4週目:細かな実験+まとめ
実験します.また成果発表に関するまとめをする必要があり,完全な成果とまでは行かなかったために,何ができていて何が足りないかを洗い出します.Vision and Languageは画像を使った実例を見せたりするとスライドが賑やかになっていいなとなりました.
リモート参加で家にいるので,基本的には一人ぼっちです.ミーティングは適宜行われますが,Slackでの非同期的な対応もあります.
貰えます.イケイケな企業がインターンで出している金額とは違いますが,自分は大学の単位として認められることや,その手続きの簡便さも考慮して選択していたので納得しています.また扶養のアレコレで収入調整をしていたので,時給が高かろうが低かろうがどっちでもよかったです.
規則正しく9:00-17:30です.社会生活を実感しました.こっそり深夜開発とかもできないのでやや険しいんですが,夜は論文を読む時間と割り切って動くことができていました.
4週間というのは成果を出すにはあまりに短い,と感じました.
特に自分は初速が非常に遅く,効率的に実験を行ったり知識がもともとある段階でスタートすることができればな,と感じたところです.
研究を仕事にしている∧非アカデミアという,自分にとってよさそうだなと思っている選択肢において仕事の一端を担ったり,実際の組織を見ることはとても参考になりました.横須賀の研究所には一回でいいから行ってみたいのはありましたが….