※ 「そもそもまともに学習できるのか?」を気にしているので、保守的すぎるかもしれません。ご意見歓迎!!
前提
- スケジュールがかなり厳しい
- 色々な記事を読んでいるとこのクラスのモデルの開発にはトータルで3~4ヶ月くらい要していることが多そう
- 様々な新技術の提案はあるものの、特にモデルに関わる部分に斬新な手法を使うのは大変
- 事前学習では高速化ライブラリの恩恵を適切に受ける必要がある(Megatron-Deepspeedに合うように実装されている必要がある)
- 性能を出すために一般にはあまり知られていないテクニックが必要な可能性が高い
- 特に事前学習は時間がかかりすぎて10B級にスケールするのはほぼ一発勝負の可能性
- (とはいえ、色々試行錯誤して知見を得る/残すのもミッションの一つではある)
モデルの方針
- モデルアーキテクチャなど、派手なアイデアを試行する機会は模索しつつも、地道な改善も大事にする
- 論文やテクニカルレポートを基にパラメータなど細かいところをきちんと設定する、とか
- モデルアーキテクチャに手を入れる場合は、既存のアーキテクチャの自然な延長のものがやりやすいか
- hatakeyama-sanのチームはbrain-train-mergeを採用するそう
- モデルアーキテクチャ以外の改善ポイントも大事
- データセットの学習のさせ方
- データセットをどの順番で学習するか、例えば、評価時のデータに近いデータセットを最後の方に学習させるなど
- トークナイザ
- 事後学習
- 事前学習に比べるとまだ試行錯誤の回数を稼げる可能性があり、精度にも影響を与えられる
- 事後学習時点ではhuggingfaceのモデルになっているので扱いやすさもある
- 役立つコード・ノウハウはなるべく(チームの外にも)共有できれば
- PJの理念的に
- PJ全体としてモデル関連の知見が弱そうで、ある程度まともに動かすところまではチーム横断で協力できると良いかもしれない
- 助け合いするためにもこちらからも提供できるものがあるとスムーズ
- ちゃんと全体に貢献していたら最後にいいことがあるかも
- ただし報われたらラッキーくらいの気持ちで
その他方針
- 全体の指針は共有しつつも、勝手に動き出してるくらいがちょうど良い