プロジェクトの説明:
Milk-V Duoのような小型のボードでBaby LLaMA 2を実行することは大きな挑戦です。このコンテストの目的は、Milk-V Duoプラットフォーム上でのBaby LLaMA 2の性能を向上させることであり、目標は毎秒トークン処理速度を高めることです。参加者は軽量技術とコンパイラ最適化戦略を活用し、マイクロフォンの音声入力やコマンドラインの入力プロンプトなど、さまざまな方法を組み合わせて、物語を語るロボットのデモを開発する必要があります。このデモはスピーカーを通じて出力され、小米米兔のお話しロボットのプロトタイプデザインを参考にすることができます。
成果物および評価要件:
- 評価基準は正確性と性能の2つの面に焦点を当てます。同じ入力に対して、基準テストを用いて参加作品の正確性と性能を評価します。
- 正確性のスコアリングは、参加作品の出力と基準出力の差分テスト結果を用いて測定し、最適化技術がモデル推論の精度に与える影響を反映します。性能スコアリングは、毎秒計算されるトークンの数を用いて測定し、参加作品の性能最適化効果を直接反映します。
- テキストから音声への変換(TTS)の時間は別途計算されます。
- 最終的に、委員会は参加作品の正確性と性能の全体的なパフォーマンスに基づいて評価し、両者はコンテストの評価委員会が設定した加重比率に基づいて最終スコアを算出し、最高得点を獲得した参加者が勝者となります。
提出説明
- 提出リポジトリのリンクは https://github.com/plctlab/rvspoc-s2311-llama2 です。
- Pull Requestの形式で結果を上記のリポジトリに提出してください。
- 提出時には、再現に必要なソフトウェア環境を詳細に説明してください。「検受説明」に記載されているデフォルトのソフトウェア環境を参考に、必要に応じて変更を加えてください。
- コンテスト期間中、最適化された内容の提出方法は以下の通りです:
- バイナリ形式
- 暗号化されたソースコード形式(暗号化情報はrvspoc@cyberlimes.cnにメールで送信する必要があります)
- ソースコード形式
- 最終結果の公開後、提出内容を完全にオープンソース化する必要があります。
- 主催者は、競技終了後(つまり2024年
2月16日2月29日以降)、競技課題のリポジトリのPull Requestチャネルを閉鎖し、結果の検受を開始します。
検受説明
- 検受プラットフォームは Milk-v Duo, 64MBバージョンです。
- 検受時には同じ仕様のTFカードを統一して使用します。
- SWAPの使用は推奨されません。
- CPUのオーバークロックは行いません。
- 追加の冷却装置は使用しません。
- Duo上のシステムに特別な要求はありません。
- Baby Llama 2 リポジトリは:https://github.com/karpathy/llama2.c です。
- 主催者は、条件1の基礎の上で、以下のソフトウェア環境を使用し、複数回のスコアリングを行った結果の平均値をベースラインとして設定し、参加者の最適化後のデータと比較します:
- Baby Llama 2のバイナリは、上記リポジトリのオリジナルの未修正のCファイルを-Ofastでコンパイルしたものを使用します。
- コンパイラーは、Milk-V公式が提供するクロスコンパイルツールチェーンを使用します(バージョンは後ほど決定)。
- システムは、デフォルトのMilk-V Duoシステムイメージを使用します(バージョンは後ほど決定)。
- 統一された入力とパラメーターを使用します(具体的な内容は後ほど決定)。
- 以下の大規模言語モデルファイルを使用します:
- 純粋なFP32推論用(つまり、run.cファイルを使用する場合)、Baby Llama 2リポジトリで提供される15Mのパラメータモデル(純粋なFP32モデル)を使用します。
- そのsha256sumは:cd590644d963867a2b6e5a1107f51fad663c41d79c149fbecbbb1f95fa81f49aです。
- 正確性の評定説明:固定された入力パラメーター(確定された乱数を使用)に対して、出力内容は固定値になります。そのため、主催者は条件4下で生成されたrun.cバイナリの出力内容と比較します。差異が生じた場合、人間が一般的に使用する文法で判断され、文法が正しい場合は減点なし、文法に誤りがある場合は減点されます。減点の比率は後ほど決定されます。
- 性能の評定説明:各提出結果は30回実行され、明らかに異なる最高得点と最低得点を除外した後、平均値が記録されます。
- テキストから音声への変換(TTS)機能を完成した場合、その実装度に応じて追加点が付与されます。加点の比率は後ほど決定されます。
- 最終的な結果には、各項目に対する詳細な説明が含まれます。
- 競技の実際の最適化進行状況に応じて、未考慮の側面については、競技の進行に伴い調整される可能性がありますので、競技ウェブサイトに注目し続けてください。最終的な解釈権は競技の課題審査委員会に帰属します。
知的財産権およびオープンソースライセンスに関する説明:
すべての参加成果はオープンソースとして公開し、主催者が指定するリポジトリに提出する必要があります。参加者(著者)は作品の全ての権利を保有します。主催者は、参加者が成果をアップストリームにフィードバックして貢献することを奨励します。
Resources
- Live Replay & Documents (中国語): plctlab/rvspoc:archives/2023/Docs/S2311