DLLXW/baby-llama2-chinese
用于从头预训练+SFT一个小参数量的中文LLaMa2的仓库;24G单卡即可运行得到一个具备简单中文问答能力的chat-llama2.
何を解決するか
このプロジェクトは、中国語Llama2風の言語モデルを構築するための完全で小規模なパイプラインを提供します。初心者がLLM分野に参入する際の障壁を下げるために、データ収集から事前学習、教師あり微調整(SFT)までをカバーする、管理可能なコードベースを提供します。
仕組み
このプロジェクトは、パラメータ数が92Mから218Mの小規模モデルを実装し、開発の各段階に対応するスクリプトを提供しています。
- データ前処理: 高品質な中国語コーパス(短いテキストのフィルタリング、Minhash/Simhashの重複削除)をクリーニングするツールと、ChatGLM2-6Bトークナイザーを使用してデータをトークン化する機能を含み、ストレージを節約します。
- 事前学習: 大規模な中国語データセット(最大634億トークン)上でベースモデルを学習するスクリプトで、基本的なテキスト補完能力を獲得します。
- 教師あり微調整(SFT): ベースモデルをチャット対応アシスタントに変換する完全な微調整プロセスを提供。一般会話および医療分野の垂直領域に対応しています。
- 推論:
infer.pyという統合エントリーポイントにより、CUDA、MPS、CPUなど異なるハードウェア上で事前学習済みおよびSFT重みをサポートします。
対象ユーザー
- 消費者向けハードウェア(例:NVIDIA RTX 3090)で実際のプロジェクトを実行しながら、全訓練パイプラインを学びたいLLM初心者。
- 小規模でドメイン特化型(例:医療)の中国語言語モデルを訓練したい開発者。
特徴
- エンドツーエンドパイプライン: 1つのリポジトリで事前学習、SFT、推論をカバー。
- 最適化されたトークナイゼーション: 64kの語彙サイズを採用し、
uint16に収まるように設計。int32と比較してデータストレージを半分に削減。 - ドメイン適応: 一般ベースモデルから専門的なMedicalChatモデルへの移行を実証。
- データクリーニングツールキット: MinhashおよびSimhashによる重複削除機能を内蔵し、学習データの品質を向上。
関連
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト