株式会社ずんだもん技術室AI放送局 podcast 20241017
Description
関連リンク
Mistral AIは、エッジデバイスでの利用に最適化された2つの新しい最先端言語モデル、「Ministral 3B」と「Ministral 8B」を発表しました。これは、数百万人のユーザーに革新をもたらしたMistral 7Bリリースから1周年を記念したものです。
Ministral 3Bと8Bは、100億パラメーター以下のモデルにおいて、知識、常識、推論、関数呼び出し、効率性において新たな基準を打ち立てています。エージェントワークフローのオーケストレーションから専門的なタスクワーカーの作成まで、幅広い用途に使用、または微調整できます。両モデルは最大128kコンテキスト長をサポートし(vLLMでは現在32k)、Ministral 8Bは高速でメモリ効率の良い推論のための特別なインターリーブスライディングウィンドウアテンションパターンを採用しています。
これらのモデルは、デバイス上での翻訳、インターネット不要のスマートアシスタント、ローカル分析、自律型ロボットなど、プライバシーを重視したローカル推論を必要とする重要なアプリケーションに対応するために開発されました。個人ユーザーからグローバルな製造チームまで、幅広い用途で利用できます。
ベンチマークテストでは、同等のモデルを凌駕する性能を示しています。Mistral 7Bと比較しても、特にMinistral 3Bは多くのベンチマークで優れた結果を出しています。
Ministral 3Bと8Bは、現在APIとして利用可能です。価格は、Ministral 3Bが100万トークンあたり0.04ドル、Ministral 8Bが100万トークンあたり0.1ドルです(入力と出力の両方)。 また、研究目的でMinistral 8B Instructのモデル重みもHugging Faceで公開されています。オンプレミスでの利用を希望する場合は、Mistral AIに連絡して商用ライセンスを取得する必要があります。
Mistral AIは、最先端のモデル開発を継続しており、今後の更なる進展にも期待できます。
引用元: https://mistral.ai/news/ministraux/
Hugging FaceのTransformersライブラリにおいて、勾配累積(Gradient Accumulation)機能を使用時の損失関数計算に不具合が見つかりました。これは、特に因果言語モデル(Causal LM)のようなトークンレベルのタスクで顕著に現れ、勾配累積ON/OFFで損失値が一致しない問題が発生していました。
この問題は、Transformersが提供するデフォルトの損失関数が、勾配累積時の計算方法に考慮不足だったことが原因です。具体的には、因果言語モデルでは、全バッチの損失を全非パディングトークン数で割る必要があるのに、バッチごとの損失の平均値を使用していたため、誤った損失値が計算されていました。
Hugging Faceチームは、この問題を以下の2つの方法で修正しています。
デフォルト損失関数の修正: ユーザーがデフォルトの損失関数を使用している場合、勾配累積時に適切な損失計算を行うよう、内部コードを修正します。これにより、多くのユーザーは修正後すぐに正しい結果を得られるようになります。
カスタム損失関数APIの提供: ユーザーが独自の損失関数を
Trainer
に直接渡せるAPIを提供します。これにより、ユーザーは、内部修正が完了するまで、独自の修正を容易に適用できます。PreTrainedModel
を継承するすべてのモデルはloss_function
プロパティを持ち、config.loss_type
やLOSS_MAPPING
を介してカスタム損失関数を設定できます。
これらの修正は、GitHubのプルリクエスト(PR)を通じて行われています(PRリンクは省略)。主要モデルへの修正は既に進められており、近々リリースされる予定です。残りのモデルへの修正も、コミュニティからの貢献を募りながら進めていきます。
修正版はpip install git+https://github.com/huggingface/transformers
でインストールできます。 バグ報告は、Hugging Faceのイシュー・トラッカー(リンクは省略)から受け付けています。 迅速な対応を心がけており、本件も24時間以内に修正済みコードをリリースしました。
本件は、デフォルト設定の不備が原因でしたが、直感的に分かりにくいデフォルト設定は変更すべきであるという教訓となりました。 今後も、ユーザーの多様なユースケースに対応できるよう、Transformersの改善に努めてまいります。
引用元: https://huggingface.co/blog/gradient_accumulation
Sanaは、NVIDIA、MIT、清華大学が共同開発した、高解像度画像生成フレームワークです。最大4096x4096ピクセルの高品質な画像を、高速かつ効率的に生成できます。特に、16GBのGPUを搭載したノートパソコンでも、1024x1024ピクセルの画像を1秒未満で生成できる点が大きな特徴です。
その効率性の高さは、以下の革新的な設計によるものです。
高圧縮オートエンコーダ(AE-F32): 従来のAEが画像を8倍圧縮するのに対し、Sanaは32倍圧縮を実現。潜在トークンの数を大幅に削減することで、高解像度画像生成の効率化に大きく貢献しています。
効率的な線形DiT: 従来の二次計算量を持つアテンション機構を線形アテンションに置き換えることで、計算量をO(N²)からO(N)に削減。高解像度でも品質を落とさずに高速化を実現しています。さらに、位置エンコーディングを不要とすることで、モデルの簡素化も図っています。
デコーダのみの小型LLMによるテキストエンコーダ: Gemmaと呼ばれるデコーダのみの小型LLMをテキストエンコーダとして採用。高度なプロンプト理解と画像・テキストの一致度向上を実現しています。複雑な人間による指示(CHI)とインコンテキストラーニングを組み合わせることで、より精度の高い画像生成を可能にしています。
効率的な学習・サンプリング戦略: 自動キャプション生成とCLIPスコアに基づくキャプション選択により、学習の収束速度と画像・テキストの一致度を向上させています。また、サンプリングステップ数を削減するFlow-DPM-Solverを採用することで、推論速度も高速化しています。
Sanaは、既存の大規模拡散モデル(例えばFlux-12B)と比較して、パラメータ数は20分の1、スループットは100倍以上高速です。様々なベンチマークにおいて、大規模モデルに匹敵する、あるいはそれを上回る性能を示しています。 特に、1024x1024解像度での推論速度においては、3Bパラメータ以下のモデルの中でトップクラスの性能を誇ります。
GitHubリポジトリには、コードが近日公開予定となっています。 このフレームワークは、低コストでコンテンツ作成を可能にする、実用的なAI技術として期待されています。
引用元: https://nvlabs.github.io/Sana/
(株式会社ずんだもんは架空の登場組織です)