125MのLMを最初から学習しました(カスタムトークナイザ)。さらに、インストラクト用のチェックポイントとSFTフレームワークも公開し、他の人が自分のバリアントを微調整できるようにしました
私は、小さな言語モデルを完全に最初から学習すること(GPT-2の初期化なし、借用したトークナイザなし)をいろいろ試していて、ここにいる他の人がその上に何か作れるように共有したいと思いました。
カスタムの16k BPEトークナイザを使って、WikiText-103 + TinyStories で12層・125Mパラメータの因果LMを学習しました。学習は約92kステップで行い、WikiText-103で検証時のパープレキシティは約6.19に到達しました。
その後、DailyDialog(約87kの例)でLoRA(rank 8)を使い、完了部分のみのマスク付き損失で会話向けバリアントも学習し、アダプタをスタンドアロンのチェックポイントにマージしました。
こちらで両方公開しています:
ベースモデル(継続LM):
https://huggingface.co/MaheshwariSujal/librarian-base-130m
インストラクト版(対話調整):
https://huggingface.co/MaheshwariSujal/Librarian-Instruct-130m
もちろん、これらは最新の1B+のインストラクトモデルと競合するものではありません。目的は、人が実際に改変できる、きれいな小規模のベースモデル一式を作ることでした。
また、同じものを使って微調整できるように、私が使ったSFTフレームワークも公開します。パイプラインを作り直すことなく、自分のバリアントを微調整できます:
https://github.com/sujal-maheshwari2004/Librarian-SFT
もし誰かが、命令チューニングの実験や、トークナイザの変更、ドメイン適応などをするために、マルチGPU環境を用意せずに、軽量(約125M)のベースモデルが欲しいのであれば、これは妥当な出発点になるはずです。
同じアーキテクチャを次は約390Mまでスケールする予定です。もし、~500Mパラメータ未満でもうまく動く強力なインストラクション用データセットについて提案があれば、ヒントをいただけると嬉しいです。
[link] [comments]




