このブログでは、Amabriベース(Cognitive-Lab/Ambari-7B-Instruct-V0.1)およびAmabri Instruct(Cognitive-Lab/Ambari-7B-Instruct-V0.1)を訓練するために行った細心のアプローチに関する洞察を共有できることに興奮しています。私たちのプロセスを高レベルで垣間見ることができるこの物語は、すべての技術的詳細の今後の啓示、つまり広範なテストと評価の頂点の前兆として機能します。革新的なオープンソースのバイリンガルカンナダ語と英語の大手言語モデルであるAmabriの作成につながった複雑さを解明しながら、お楽しみに。
アマブリの背後にある目的
大規模な言語モデル(LLMS)の動的な風景では、アマブリの作成は多面的な目的から生じました。
LLMが主流の使用にますます浸透するにつれて、オープンソースモデルは世界の知識を豊かにしている間、主に英語中心のトレーニングから出現します。 Amabriは、この範囲を広げ、LLMSを多様な言語に適応させる先駆的なイニシアチブとして機能します。
LLMSの進化する景観では、1兆から10兆のトークンの範囲の膨大な量のトレーニングデータの需要が標準になっています。ただし、これは文書化されたリソースが限られている言語に課題となります。私たちの追求において、私たちは、ラマ/ミストラルなどの事前に訓練されたLLMの適応に焦点を当て、新しい言語のニュアンスを理解します。アマブリの場合はカンナダです。カンナダは非常に低リソースの言語として分類されていないにもかかわらず、それは私たちの仮説と方法論をテストするための理想的な候補者として機能しました。トレーニングと微調整の段階を厳密に定義して、プロセス全体に10億トレーニングトークンの上限を設定しました。
その後、私たちは細心の注意を払ってデータセットを作成し、それに応じてそれらを配布し、プロセスの段階を描きました。
この意図的なアプローチは、Amabriの開発の基礎を築き、LLMSの領域内で言語適応性の境界を押し広げました。
言語モデルの効率の重要なコンポーネントであるトークン化は、オープンソースLLMのコンテキスト内でカンナダ語テキストにとってユニークな課題となりました。多くの既存のモデルは、特に推論中にキャラクターレベルのトークン化に非効率的に頼り、全体的なパフォーマンスに影響を与えます。これに対処するために、centepieceを使用してカンナダテキストの専門的なトークン化モデルを開発しました。このモデルは、ベースのラマトークナイザーとシームレスに統合されており、49,600の包括的な語彙が17,600に拡張されました。
私たちのアプローチには、3つの異なるデータセットサイズでトークン剤モデルをトレーニングし、100,000トークンを含むデータセットで最適な結果を明らかにしました。 Amabriを進化させるにつれて、今後のイテレーションでは、48,000の語彙サイズが削減された洗練されたトークン化戦略が特徴です。この調整は、Twitterの投稿(TwitterのAndrej Karpathy)でAndrej Karpathyが共有する洞察によって検証され、全体的な効率を高めることに向けられています。
効率の向上を直接探求することは興味がありますか?ここでは、トークン剤の動作をテストできます。
トレーニング前
効率的なトークン剤が配置されているため、次の重要なステップは、新しく濃縮された語彙にモデルを慣れることを目的としたトレーニング前の段階でした。このプロセスを最適化するために、多様なソースから包括的なデータセットをキュレーションしました。特に、この段階で2つの異なるアプローチを調査しました。これは、LORAでトレーニングを行い、モデルを完全にトレーニングしました。この戦略的決定は、アマブリの発展のための最適な道を識別したいという私たちの欲求に由来しています。
これらの方法論の詳細な比較はまもなく公開されますが、最初の観察結果をいくつか収集しました。
継続的なテストがこれらの観察を改善する可能性があることを認めていますが、このスナップショットは私たちの進歩に関する貴重な洞察を提供します。トレーニング前の段階では、2XA100 GPUのクラスターを採用し、5億トークンを含む実質的なコーパスでの全力の事前トレーニングに約25時間かかりました。
完全に微調整されたモデルの重みが顔を抱きしめて利用できるようになったことに言及する価値がありますか? -https://huggingface.co/cognitive-lab/ambari-7b-base-v0.1、コミュニティ内のオープンソースの知識共有に貢献しています。
バイリンガル次のトークン予測
Sarvam.aiによるオープンハティシリーズに触発されたこのフェーズは、トレーニング戦略に予定されていないが重要な追加の追加でした。 200,000トークンのデータセットを作成すると、モデルに言語理解の強化を装備することを目指して、LORAを微調整に使用しました。私たちが進むにつれて、私たちの焦点はカンナダに「世界知識」を植え付けることに変わりました。特に英語と比較して、カンナダのコンテンツが不足していることを考えると、翻訳に目を向けました。 IndicTrans2を活用して、主にウィキペディアから供給された英語のコンテンツをカンナダに翻訳しました。ただし、従来のモノリンガルの次のトークン予測の代わりに、画期的なアプローチを導入しました。バイリンガルの次のトークン予測です。カンナダと英語の間の文章を交互に、この方法により、モデルは次のトークンの予測中に情報に間違った情報に出席することを余儀なくされました。この微妙なアプローチは、カンナダと英語の間の整合性の増加だけでなく、トレーニング中のヒンディー語と英語のトークンへの自然にバランスの取れた露出も促進しました。この段階は、アマブリのトレーニングの旅に洗練された余分な層を追加しました。
翻訳Finetuning
このフェーズの背後にある意図は、英語と対応するカンナダトークンの間に一貫した関係を確立することでした。微調整のために低ランクの適応を採用して、特に非常に低いランクの価値を使用するという決定に伴い、いくつかの課題に遭遇しました。 100,000トークンのデータセットサイズで、この段階は制限を提示し、改善の必要性を認めています。トレーニングプロセスのこの側面を改善するにつれて、アマブリのバイリンガル能力を高めるという私たちのコミットメントは揺るぎないままです。
バイリンガルの指示微調整
この重要な段階では、モデルの応答性を成形するために、低ランクの適応で監視された微調整を採用しました。ユーザーのプロンプト/命令と対応する応答で構成されるチャットテンプレート構造を採用して、バイリンガルの指示の微調整の領域に挑戦しました。このアプローチでは、ユーザーのプロンプトまたは命令で指定された言語に基づいて、英語またはカンナダで巧みに対応するためにモデルをトレーニングすることが含まれていました。
チャットテンプレート
< | user | >
{user prompt / instruction}
< | endoftext | >
< | assistant | >
{response}
< | endoftext | >たとえば、ユーザープロンプトが与えられます
「カンナダでの10の勉強のヒントをください」
応答
このモデルは、カンナダでシームレスに応答を生成し、言語の一貫性を維持します。トレーニングプロセスを豊かにするために、Alpaca Instruce、Dolly Instruceなどを含むさまざまな命令データセットを融合させました。 Google、Azureなどの翻訳APIを活用し、AI4BharatからのindicTrans2モデルのカスタム展開を行うと、包括的なバイリンガルの指示データセットを作成しました。
ここで顔を抱きしめて公開されているデータセットは、多様な言語シナリオを網羅しています。トレーニング中に、4つの異なる表現で監視された微調整を実装しました。
この細心のアプローチは、モデルをさまざまな言語で応答することに慣れ親しんだだけでなく、さまざまな横断的タスクを習得するための基礎を築きました。
この細かく調整されたモデルの重みは、顔を抱きしめることでアクセスでき、実践的な体験のために、chat.cognitivelab.inで4ビットの量子化バージョンを探索できます。
モデルの改良の段階的段階では、直接選好最適化(DPO)の世界を掘り下げました。さまざまなオープンソースモデルで観察された成功に触発されたこの戦略的選択は、モデルを調整するだけでなく、ベンチマークの改善を促進することも目的としています。この実験的な旅に着手して、人類/HH-RLHFデータセットを活用しました。カンナダに翻訳して、モデルをDPOの微調整にさらし、現在、パフォーマンスへの影響を測定するために包括的な評価を受けています。
改善の範囲
このフレームワークで提供されているモデルが解毒を受けていないことに注意することが重要です。彼らは印象的な言語能力を紹介しますが、有害または攻撃的と見なされる可能性のあるコンテンツを生成する可能性があります。ユーザーは、特に公共または機密アプリケーションで、モデルの出力を裁量権を行使し、綿密に監視することを強くお勧めします。
このプロジェクトを強化および拡大するための貢献を歓迎します。提案や改善がある場合は、問題を開いたり、プルリクエストを送信したりしてください。
このプロジェクトは、GNU GPL v3.0ライセンスの下でライセンスされています。詳細については、license.mdファイルを参照してください。
重要: GPL 3.0ライセンスは、このリポジトリで提供されるソースコードとデータセットにのみ適用されます。 indic-llmはメタのllama 2モデルの派生物であるため、変更できないLlama 2の元のライセンスの対象となります。したがって、モデルのライセンスに関する包括的な詳細については、llama2-licenseファイルを参照してください。
このリポジトリは、次のリポジトリからインスピレーションを引き出します。