2 ポイント 投稿者 GN⁺ 2024-12-07 | 1件のコメント | WhatsAppで共有
  • Hugging Faceで公開された Llama-3.3-70B-Instruct は、Metaの70B規模の instruction-tuned 多言語テキスト生成モデルで、対話型AIとテキスト生成用途を想定している
  • ベースは 最適化された Transformer 自己回帰言語モデルであり、チューニング版はSFTとRLHFによって有用性・安全性の選好に沿うようアラインされている
  • 事前学習には公開オンラインデータの約 15兆+トークン が使われ、コンテキスト長は128k、知識カットオフは2023年12月、対応言語は8言語である
  • Hugging Faceでモデルにアクセスするには 連絡先情報の共有 への同意が必要で、Llama 3.3 Community License と Acceptable Use Policy に従う必要がある
  • 実運用ではモデル単体で使うのではなく、安全ガードレール を含むAIシステムとして構成し、用途別の安全テストとチューニングを行う必要がある

モデルの性格と主要仕様

  • Llama 3.3 はMetaが開発した多言語大規模言語モデルで、70B Instruct 版はテキスト入力とテキスト出力をサポートする instruction-tuned 生成モデルである
  • 多言語対話ユースケース向けに最適化されており、一般的な産業ベンチマークで多くのオープンソースおよびクローズドなチャットモデルより高い性能を示すと評価されている
  • アーキテクチャ は最適化されたTransformerベースの自己回帰言語モデルである
    • チューニング版では supervised fine-tuning(SFT) と reinforcement learning with human feedback(RLHF) を使用する
    • すべてのモデル版は推論スケーラビリティ改善のため Grouped-Query Attention(GQA) を使用する
  • 主な仕様
    • パラメータ: 70B
    • 入力: 多言語テキスト
    • 出力: 多言語テキストとコード
    • コンテキスト長: 128k
    • 事前学習トークン数: 15T+
    • 知識カットオフ: 2023年12月
    • リリース日: 2024年12月6日
  • 対応言語は英語、ドイツ語、フランス語、イタリア語、ポルトガル語、ヒンディー語、スペイン語、タイ語である
  • モデルはオフラインデータセットで学習された 静的モデル であり、コミュニティフィードバックを反映した今後のチューニングモデル版がリリース予定である

アクセス条件とライセンス義務

  • Hugging Faceでこのモデルコンテンツにアクセスするには 連絡先情報の共有 への同意が必要である
    • 提供した情報は Meta Privacy Policy に従って収集、保存、処理、共有される
  • ライセンスは Llama 3.3 Community License Agreement である
    • Llama Materials にはMetaのLlama 3.3と文書、その一部が含まれる
    • 使用、複製、配布、コピー、派生著作物の作成、改変について、非独占・全世界・譲渡不可・ロイヤルティフリーの限定ライセンスが付与される
  • 再配布または同梱製品の配布には別途要件がある
    • Llama Materials またはその派生物を配布する、あるいはそれを含む製品・サービスを提供する場合は、ライセンスのコピーを同梱しなければならない
    • 関連Webサイト、UI、ブログ記事、aboutページ、製品ドキュメントに “Built with Llama” を目立つように表示しなければならない
    • Llama Materials またはその出力・結果を使ってAIモデルを作成、学習、ファインチューニング、改善し、それを配布する場合は、モデル名の先頭に “Llama” を含めなければならない
    • 配布するすべてのコピーには、“Notice” テキストファイル内の指定された著作権およびライセンス告知を維持しなければならない
  • 大規模商用利用には追加条件が付く
    • Llama 3.3のリリース日時点で、その直前の月に Licensee または関連会社が提供する製品・サービスの月間アクティブユーザー数が 7億人超 の場合、Metaに別途ライセンスを申請する必要がある
    • Metaが明示的に権利を付与するまでは、その権利を行使できない
  • 契約はカリフォルニア州法に従って解釈され、関連紛争はカリフォルニア州の裁判所が専属管轄権を持つ

許容範囲と禁止用途

  • Llama 3.3は複数言語での 商用および研究利用 を想定している
    • instruction-tuned のテキスト専用モデルは assistant-like chat に使用される
    • pretrained モデルはさまざまな自然言語生成タスク向けに調整できる
    • モデル出力は合成データ生成や distillation など、他モデルの改善にも活用できる
  • 想定外の利用には以下が含まれる
    • 適用法令、規制、貿易コンプライアンス法規に違反する利用
    • Acceptable Use Policy と Llama 3.3 Community License が禁止する方法での利用
    • モデルカードで明示的にサポートされる言語の範囲を超える利用
  • モデルは8つの対応言語より広い言語コレクションで学習されているが、追加言語を使う場合、開発者はライセンスとポリシーを順守し、安全かつ責任ある利用を保証しなければならない
  • Acceptable Use Policy は次の利用を禁止している
    • 暴力、テロ、児童搾取、人身売買、性的暴力、違法情報配布、性的勧誘、その他の犯罪行為
    • 嫌がらせ、虐待、脅迫、いじめ
    • 雇用、信用、住宅、必需品・サービスの提供における差別、または違法・有害行為
    • 無許可の専門職行為
    • 適法な権利なく個人の機微情報や私的情報を収集・処理・公開・生成・推論する行為
    • 第三者の権利侵害または不正利用
    • 悪意あるコード、マルウェア、コンピュータウイルスの生成、またはシステム動作の妨害
    • 利用制限や安全対策を回避または除去する行為
  • 死亡または身体被害の危険がある活動も禁止される
    • 軍事、戦争、核産業またはその応用、諜報、ITAR対象活動
    • 銃器や違法武器、違法薬物、規制物質
    • 重要インフラ、輸送技術、重機の運用
    • 自傷他害、暴力・虐待・身体被害を助長するコンテンツ
  • 欺瞞に関する禁止事項も含まれる
    • 詐欺または偽情報の生成・助長
    • 名誉毀損コンテンツの生成
    • スパムの生成・配布
    • 同意や法的権利のないなりすまし
    • Llama 3.3 の利用または出力を人間が作成したものと表示すること
    • 偽レビューなど虚偽のオンライン参加の生成
  • Llama 3.3 に含まれるマルチモーダルモデルについては、EU居住の個人またはEUに主たる事業所を持つ企業に Section 1(a) の権利は付与されない
    • この制限は、そのようなマルチモーダルモデルを含む製品・サービスのエンドユーザーには適用されない

実行方法とサービングオプション

  • このリポジトリには transformers 用と元の llama コードベース用の2種類の Llama-3.3-70B-Instruct が含まれている
  • transformers >= 4.45.0 以降では、Transformers の pipeline 抽象化、または Auto クラスと generate() 関数で対話推論を実行できる
    • インストール更新は pip install --upgrade transformers で行う
    • 例では torch.bfloat16, device_map="auto"text-generation パイプラインを作成する
  • Transformers の ツール使用(tool use) もサポートする
    • 複数のツール使用フォーマットをサポートしており、LLaMA prompt format docs でプロンプトフォーマットガイドを確認できる
    • Transformers の chat templates を通じてツール使用を処理できる
    • モデルがツール呼び出しを生成したら、assistant メッセージに tool_calls を追加し、ツール実行結果を tool ロールのメッセージとして追加したうえで、再度 generate() を呼び出す
  • bitsandbytestransformers を使えば、チェックポイントを 8-bit および 4-bit でロードしてメモリをさらに最適化できる
    • 8-bit ロードには BitsAndBytesConfig(load_in_8bit=True) を使用する
    • 4-bit ロードには load_in_4bit=True を渡す
  • 元の llama コードベースの使用は Meta Llama repository の手順に従う
    • オリジナルチェックポイントは huggingface-cli download meta-llama/Llama-3.3-70B-Instruct --include "original/*" --local-dir Llama-3.3-70B-Instruct の形で取得できる
  • ローカルアプリとサービングオプションも提供される
    • vLLM は vllm serve "meta-llama/Llama-3.3-70B-Instruct" でサーバーを開始し、OpenAI互換の /v1/chat/completions API で呼び出す
    • SGLang は python3 -m sglang.launch_server --model-path "meta-llama/Llama-3.3-70B-Instruct" でサーバーを実行し、OpenAI互換APIで呼び出す
    • Docker Model Runner は docker model run hf.co/meta-llama/Llama-3.3-70B-Instruct を使用する

学習データ、計算量、排出量

  • 事前学習データは公開ソース由来の約 15兆トークン で構成される
  • ファインチューニングデータには公開 instruction データセットと 2,500万件超 の合成生成サンプルが含まれる
  • データの新しさは事前学習データ時点で 2023年12月 までである
  • 学習にはカスタム学習ライブラリ、MetaのカスタムGPUクラスター、本番インフラが使用された
    • ファインチューニング、アノテーション、評価も本番インフラ上で実施された
  • H100-80GBハードウェア基準で累計 39.3M GPU時間 の計算が学習に使われた
    • Llama 3.3 70B項目の学習時間は 7.0M GPU時間 である
    • 学習時の消費電力はGPUあたり 700W とされる
  • 学習に伴う温室効果ガス排出量は算定方式によって区分される
    • 全体のロケーションベース推定排出量は 11,390 tons CO2eq
    • Llama 3.3 70B項目のロケーションベース排出量は 2,040 tons CO2eq
    • Metaは2020年以降、グローバル運用でネット排出ゼロを維持し、電力使用量の100%を再生可能エネルギーとマッチさせているため、市場ベースの学習排出量は 0 tons CO2eq である
    • エネルギー使用量と温室効果ガス算定の方法論は 論文 に示されている
    • Metaがモデルを公開リリースしているため、学習エネルギー使用や温室効果ガス排出は他ユーザーには発生しない

ベンチマークでの位置づけ

  • 英語テキストベンチマークでは、Llama 3.3 を以前のモデルと比較している
  • Llama-3.3 70B Instruct の主な結果
    • MMLU(CoT): 86.0
    • MMLU Pro(CoT): 68.9
    • IFEval: 92.1
    • GPQA Diamond(CoT): 50.5
    • HumanEval: 88.4
    • MBPP EvalPlus(base): 87.6
    • MATH(CoT): 77.0
    • BFCL v2: 77.3
    • MGSM: 91.1
  • 以前および上位モデルとの一部比較
    • HumanEval では Llama 3.1 70B Instruct は 80.5、Llama-3.3 70B Instruct は 88.4、Llama 3.1 405B Instruct は 89.0 である
    • MATH では Llama 3.1 70B Instruct は 68.0、Llama-3.3 70B Instruct は 77.0、Llama 3.1 405B Instruct は 73.8 である
    • MGSM では Llama 3.1 70B Instruct は 86.9、Llama-3.3 70B Instruct は 91.1、Llama 3.1 405B Instruct は 91.6 である

安全性評価と展開責任

  • Metaの責任あるリリース方針は、信頼と安全リスクの管理のために3つの戦略に従う
    • 開発者が対象ユーザーとLlamaの対応ユースケースに合った、有用で安全かつ柔軟な体験を展開できるよう支援する
    • Llamaの能力を悪用しようとする敵対的ユーザーから開発者を保護する
    • モデルの誤用防止を支援するコミュニティ保護を提供する
  • Llama 3.3 は多様なユースケースで使われる 基盤技術 として設計されている
    • モデル安全性は一般的なユースケースと標準的な危害カテゴリに合わせてアラインされている
    • 開発者は自分のユースケースに合ったポリシーを定義し、必要な保護措置を含めたLlamaシステムを展開しなければならない
    • 関連ガイドラインは Responsible Use Guide で提供されている
  • Llama 3.3 Instruct の安全ファインチューニングは、安全ファインチューニングの堅牢性を研究できるリソースを提供し、開発者が安全なAIシステムを展開する負担を減らすことに重点を置いている
    • ファインチューニングデータは、ベンダー作成の人手生成データと合成データを組み合わせている
    • LLMベース分類器を活用して高品質なプロンプトと応答を選別している
    • 安全データ戦略には borderline および adversarial prompt が含まれる
    • 安全データ応答は、拒否トーンのガイドラインに従うよう修正されている
  • Llama 3.3 を含む大規模言語モデルは 単独展開向けには設計されていない
    • 完全なAIシステムの一部として、追加の安全ガードレールとともに展開すべきである
    • エージェントシステムを作る際には、開発者はシステム保護措置を展開しなければならない
    • Metaは trust and safety リソースとして Llama Guard 3、Prompt Guard、Code Shield を提供している
    • reference implementations のデモには、これらの保護措置が標準で含まれている
  • ツール使用機能では、開発者がLLMと選択したツール・サービスの統合責任を負う
    • ユースケースごとに明確なポリシーを定義しなければならない
    • 第三者サービスの完全性と安全・セキュリティ上の限界を評価しなければならない
  • 多言語機能では、対応する8言語以外の言語でも出力される可能性がある
    • 安全性と有用性の基準を満たした言語以外で対話させるには、ファインチューニングとシステム制御を実装しなければならない
    • Metaは未対応言語での対話利用を強く推奨していない

リスク評価とコミュニティリソース

  • 評価は一般的なユースケースと特定機能を対象に実施される
    • 一般ユースケース評価は、チャットボット、コーディングアシスタント、ツール呼び出しなど、最も一般的なアプリケーションの安全リスクを測定する
    • 専用の敵対的評価データセットを構築し、LlamaモデルとLlama Guard 3で構成されるシステムを評価している
    • アプリケーションは文脈の中で評価することが重要であり、ユースケース別の専用評価データセット構築が推奨される
  • 反復的な レッドチーム 訓練が行われている
    • 目的は敵対的プロンプティングを通じてリスクを発見することである
    • 学習結果はベンチマークと安全チューニング用データセットの改善に使われる
    • レッドチームはサイバーセキュリティ、敵対的機械学習、責任あるAI、integrity 専門家と多言語コンテンツ専門家で構成される
  • 重点的に緩和したリスク領域
    • CBRNE: 化学・生物兵器拡散に関するリスク評価のため、Llama 3 系列モデルの利用が悪意ある行為者の能力を有意に高めるかどうか uplift testing を実施する
    • Child Safety: 専門家チームが児童安全リスクを生みうる出力能力を評価し、ファインチューニングによる緩和の必要性を検討する
    • Cyber attack enablement: ハッキング作業における人間能力の技術水準と速度を高めるかを調査し、ランサムウェア攻撃の文脈で自律エージェントとして複雑なサイバー攻撃を実行可能かを評価する
  • MetaはAI Alliance、Partnership on AI、MLCommons などのオープンコンソーシアムに参加し、安全の標準化と透明性向上に貢献している
  • Purple Llama ツールはコミュニティ利用のためオープンソース化されており、コミュニティからの貢献は PurpleLlama GitHub repository で受け付けている
  • Llama Impact Grants は、教育、気候、オープンイノベーションの3分野で社会的利益のためのLlamaアプリケーションを発掘し支援する
  • 出力報告メカニズムと bug bounty program を通じて、コミュニティの支援でLlama技術を継続的に改善している

制約と開発者向け注意事項

  • Llama 3.3 の中核価値は、オープン性、包摂性、有用性として示されている
  • モデルは、多様な背景、経験、視点を持つ人々がアクセスできるよう設計されている
  • Llama 3.3 は新しい技術であり、利用には依然としてリスクが残る
    • 現在までのテストはすべてのシナリオを含んでおらず、今後も含められない可能性がある
    • 他のLLMと同様に、潜在的な出力を事前に予測することはできない
    • 一部のケースでは不正確、偏りがある、あるいはその他不快な応答を生成する可能性がある
  • Llama 3.3 モデルのアプリケーションを展開する前に、開発者は対象アプリケーションに合わせた 安全テストとチューニング を実施する必要がある
  • 責任ある開発に関する資料は Responsible Use GuideTrust and Safety、その他の resources で提供される

1件のコメント

 
GN⁺ 2024-12-07
Hacker News の意見
  • ベンチマーク: https://www.reddit.com/r/LocalLLaMA/comments/1h85ld5/comment...
    Llama 3.2 405B と同等か、少し上回る性能に見えるが、この水準なら本当に印象的
    Zuck によると(https://www.instagram.com/p/DDPm9gqv2cW/)、今回が Llama 3 シリーズ最後のリリースで、2025年に Llama 4 が出る予定とのことで期待している

    • 24GB 4090 GPU と 64GB 7950x CPU メモリで、lm-studio を使ってモデルを GPU/CPU に分けて載せたところ 2.12 tok/s が出た
      GPU には 40/80 レイヤーを載せており、出力品質はいまのところ良さそうに見える
      ネットワークに送信したくない一方で、できるだけ良い回答が欲しいクエリには、このような構成は使えそう
      より良い量子化や、より大きな GPU メモリ構成が可能になれば、こうした大規模モデルをローカルで堅実なコーディングアシスタントとして使えそう
      使用したモデルは lmstudio-community/Llama-3.3-70B-Instruct-GGUF/Llama-3.3-70B-Instruct-Q4_K_M.gguf
    • ちなみに Llama の命名体系のせいで、Llama 3.2 405B というモデルは存在しない
      8B/70B/405B モデルは Llama 3、3.1、3.3 のいずれかで(405B は初期リリースにはなかった)、Llama 3.2 には 1B、3B、11B vision、90B vision モデルだけが含まれている
      かなり紛らわしい構造
    • 性能が 405B にかなり近いので、非量子化 3.3-70B と、同じサイズになるよう量子化した 405B を比較すると、どちらが優勢か興味深そう
  • Steve Jobs が Dropbox に対して、ストレージは「製品ではなく機能」だと言った有名な言葉を思い出す
    Zuckerberg はこのような強力なモデルをオープンソースで公開することで、事実上 AI をコモディティ化しており、Meta の実際のビジネスモデルは依然としてソーシャルプラットフォーム中心
    Facebook と Instagram のサービスを強化するためにこれらのモデルを活用しつつ、同時にコミュニティ改善や注目からも利益を得られる
    AI を売るのではなく、AI で中核事業をより強くする戦略
    公開することで、モデル自体を直接収益化しなくても、広く採用され開発されるメリットを得ている

    • 開発者コミュニティにより積極的に手を差し伸べることで得られる価値も過小評価すべきではない
      偶然かもしれないが、これらのモデルを公開し始めてから、HN で人々が「Meta」と呼ぶのを以前よりよく見るようになり、最近は普段よりはるかに好意的な態度が多くなった
      好感度は、安価な自動検閲/モデレーションや派手な機能ほど価値がないとしても、確かに価値がある
    • オープンソースのビジネスモデルが正確には何なのかをしばらく考えていて、Google が Chrome にお金を使う理由も気になっていた
      Zuckerberg の発言を見て、オープンソースは企業の立場では 売上を増やすか、コストを下げられるときに有用なのだと腑に落ちた
      売上増加の例は Chrome と Visual Studio Code
      たとえばコーディングする人が増えるほど MSFT にお金を払う可能性が高まるので、VS Code にはプログラミングをできるだけ魅力的にする目的がある
      Chrome も同様
      コスト削減の例は Linux と Llama
      Zuckerberg が自ら語っていたように、一方が LLM 独占で雪だるま式に巨大化することを望んでいないため、オープンソース側が回るよう支援する道を選んだということ
    • 補完財をコモディティ化せよ: https://gwern.net/complement
    • 「ストレージは製品ではなく機能」という話とは少し違う小さな不満だが、最近3年ぶりにスマートフォンを買い替えたら、ストレージが依然として概ね 128GB 付近に制限されていて驚いた
      クラウドストレージサービスを推すために、容量を人為的に抑えているのではないかと思う
    • Meta は広告品質を大きく改善した
      Facebook と Instagram の広告を見て実際に購入に至ることがよく起きるようになり、正直、過去20年以上にわたって広告を意図的にクリックしたことは一度もなかった
  • 複数のベンチマークで GPT-4o とほぼ同等の水準に見える: https://x.com/Ahmad_Al_Dahle/status/1865071436630778109

    • しかも 25倍安く、オフライン利用が可能で、検閲/アラインメントを外せて、ファインチューニングやバックアップも可能
      OpenAI にとっては悲しい日で、人類にとっては良い日
    • 今年は始まったときと同じ雰囲気で終わるようだ
      AI の進化の大半はより小さなモデルで起きている
      企業が学習データの価値と、最終的なモデルサイズをはるかに超える効率の重要性に気づき始めたことで、本当の変化が生まれた
    • あのベンチマークの GPT-4o がどのバージョンなのか気になる
      08-06 リリースは、複数のベンチマークであの資料より少し高く出ているように見える: https://github.com/openai/simple-evals?tab=readme-ov-file#be...
    • こうなると月額200ドルという価格がますます滑稽に見える
  • 私たちのベンチマークでは予想よりはるかに良い結果が出た: https://help.kagi.com/kagi/ai/llm-benchmark.html
    さらに掘り下げる必要はあるが印象的

    • 「D&D 5e でソーサラーのキャラクターがレベル6になったら何を得ますか?」と聞いたところ、かなり多くの内容をもっともらしく作り上げた
      GPT-4 も少し作り上げ、Claude は正確に答えた
  • HuggingFace のモデル周りの流れを追えていないので気になっています
    こういうモデルで何ができるのか知りたいです
    ノートPCにダウンロードして JupyterLab で実行できるのか、できるならどんな利点があるのか、インターネット上の新しいデータなどで定期的に更新できるのか、地理空間データのような特定用途向けにファインチューニングできるのか、そしてファインチューニングはどれくらい難しく、どれくらい時間がかかるのかが気になります
    HuggingFace にこうした質問への答えがあるなら、URL を教えてもらえるとうれしいです
    私には HuggingFace は初期の GitHub のように見えます
    一部の人は熱心に使っている一方で、それ以外の人はどう使えばいいのか分からず首をかしげている感じです
    初歩的な質問ですが、多くの人の役に立つ回答になると思います

    • 可能です
      コミュニティがコンシューマー向け GPU で動かせる量子化版を作ってくれています
      Llama 70B の 4ビット量子化版は MacBook Pro でかなりよく動きますし、CPU 統合メモリを使う Neural Engine もこうした用途にはかなり堅実です
      GPU はコンシューマー向け GPU のメモリがまだ小さいので、少し難しくなります
      ファインチューニングも可能です
      Unsloth のようなフレームワークがそれをより簡単にしてくれます: https://github.com/unslothai/unsloth
      ファインチューニングは学習率などの要素を理解する必要があるため、きちんとやるにはかなり厄介になり得ますが、多くの趣味開発者が成功している良い資料がインターネット上にあります
      機械学習の博士号は必要ありませんが、テキストで表現できるデータは必要です
      情報元としては、私は Databricks でモデルサービングのエンジニアリングディレクターをしています
    • 可能です。JupyterLab はよく分かりませんし、利点については割愛します
      定期更新は実質的に難しく、ファインチューニングは可能ですがかなり面倒なので、普通にお金を払って他の人に任せる方がよいです
    • HuggingFace は基本的にモデル用の GitHubのようなものです
      誰でも何でもアップロードできますが、ツールや配布方法をある程度標準化してくれます
      リリースをより使いやすくするための統合を支援するチームもあり、ファインチューニング用ライブラリも提供しています
  • OpenRouter で100万トークンあたりの価格を追跡しているのですが、数回リロードするたびに下がっていて面白いです: https://openrouter.ai/meta-llama/llama-3.3-70b-instruct

  • 関心のある人向けに、4ビット bitsandbytes、GGUF、元の 16ビット重みを https://huggingface.co/unsloth に置いてあります
    Unsloth を使うと、Llama 3.3 70B を 48GB 未満の VRAM でファインチューニングでき、2倍速く、メモリ使用量も 70% 少なくなります

  • Llama をオープンソースとして公開したことは、私の記憶する限り、補完財をコモディティ化せよ戦略の最良の実行例の一つです
    この戦略を知らない人向けに、Gwern の “Laws of Tech: Commoditize Your Complement” のリンクを置いておきます: https://gwern.net/complement

  • Meta は期待以上のものを出し続けています
    最初から強力な公開モデルを出す焦土作戦で OpenAI/Anthropic を狙い、揺さぶるのが目的でした
    最大の勝者は私たち開発者です

  • 今朝数分かけてH100 モデルサーバーを立ち上げ、FP8 量子化版と KV キャッシュ量子化まで使って H100 2枚に載せてみましたが、速度と品質は有望に見えます
    より優れた指示追従ベンチマークが、関数呼び出しやエージェント的機能の改善につながるか楽しみです