「Llama 2が登場しました – Hugging Faceで手に入れましょう」

Llama 2 is now available - Get it on Hugging Face.

はじめに

Llama 2は、Metaが本日リリースした最新のオープンアクセスの大規模言語モデルのファミリーです。私たちはHugging Faceとの包括的な統合を完全にサポートすることで、このリリースを支援しています。Llama 2は非常に寛容なコミュニティライセンスでリリースされ、商業利用も可能です。コード、事前学習モデル、ファインチューニングモデルはすべて本日リリースされます🔥

私たちはMetaとの協力により、Hugging Faceエコシステムへのスムーズな統合を実現しています。Hubで12のオープンアクセスモデル(3つのベースモデルと3つのファインチューニングモデル、オリジナルのMetaチェックポイントを含む)を見つけることができます。リリースされる機能と統合の中には、以下のものがあります:

  • モデルカードとライセンスを備えたHub上のモデル。
  • Transformersの統合
  • 単一のGPUを使用してモデルの小さなバリアントをファインチューニングするための例
  • 高速かつ効率的なプロダクションレディの推論のためのテキスト生成インファレンスとの統合
  • インファレンスエンドポイントとの統合

目次

  • Llama 2を選ぶ理由
  • デモ
  • インファレンス
    • Transformersを使用する場合
    • インファレンスエンドポイントを使用する場合
  • PEFTによるファインチューニング
  • 追加リソース
  • 結論

Llama 2を選ぶ理由

Llama 2リリースでは、7Bから70Bのパラメータ(7B、13B、70B)でスケールする事前学習済みおよびファインチューニング済みのLLMファミリーが導入されました。事前学習モデルは、Llama 1モデルに比べて大幅に改善されており、トークン数が40%増え、はるかに長いコンテキスト長(4,000トークン 🤯)を持ち、70Bモデルの高速推論にはグループ化クエリアテンションが使用されています🔥!

ただし、このリリースの最もエキサイティングな部分は、ファインチューニングモデル(Llama 2-Chat)です。これらのモデルは、人間のフィードバックからの強化学習(RLHF)を使用して対話アプリケーション向けに最適化されています。さまざまな支援度と安全性のベンチマークにおいて、Llama 2-Chatモデルはほとんどのオープンモデルよりも優れたパフォーマンスを発揮し、人間の評価によるChatGPTと同等のパフォーマンスを達成しています。

Llama 2: Open Foundation and Fine-Tuned Chat Modelsからの画像

クローズドソースのチャットボットに対するオープンな代替手段を待っていた方にとって、Llama 2-Chatが現在の最良の選択肢となるでしょう!

*現在、Llama 2 70B(非チャットバージョン)の評価を実施中です。この表は結果が更新されます。

デモ

このスペースや以下のプレイグラウンドで簡単にBig Llama 2モデル(700億パラメータ!)を試すことができます:

このプレイグラウンドでは、Hugging Faceのテキスト生成インファレンス(HuggingChatと同じ技術)を使用しています。以下のセクションでさらに詳しく説明します。

インファレンス

このセクションでは、Llama2モデルのインファレンスの異なるアプローチについて説明します。これらのモデルを使用する前に、公式のMeta Llama 2リポジトリのいずれかへのアクセスをリクエストしていることを確認してください。

注:公式のMetaフォームも記入してください。両方のフォームが数時間後に記入されると、ユーザーはリポジトリへのアクセスが提供されます。

Transformersを使用する場合

Transformersのバージョン4.31以降では、既にLlama 2を使用し、HFエコシステム内のすべてのツールを活用することができます。これには以下のものが含まれます:

  • トレーニングとインファレンスのスクリプトと例
  • 安全なファイル形式(safetensors
  • bitsandbytes(4ビットの量子化)やPEFT(パラメータ効率のファインチューニング)などのツールとの統合
  • モデルを使用した生成を実行するためのユーティリティとヘルパー
  • モデルをデプロイするためのエクスポートメカニズム

最新のtransformersを使用していることと、Hugging Faceアカウントにログインしていることを確認してください。

pip install transformers
huggingface-cli login

以下のコードスニペットでは、transformersを使用して推論を実行する方法を示します

from transformers import AutoTokenizer
import transformers
import torch

model = "llamaste/Llama-2-7b-chat-hf"

tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = transformers.pipeline(
    "text-generation",
    model=model,
    torch_dtype=torch.float16,
    device_map="auto",
)

sequences = pipeline(
    '私は「Breaking Bad」と「Band of Brothers」が好きです。他におすすめの番組はありますか?\n',
    do_sample=True,
    top_k=10,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
    max_length=200,
)
for seq in sequences:
    print(f"結果: {seq['generated_text']}")

結果: 私は「Breaking Bad」と「Band of Brothers」が好きです。他におすすめの番組はありますか?
回答:
もちろんです!「Breaking Bad」と「Band of Brothers」がお好きなら、以下のテレビ番組もおすすめです:
1. 「The Sopranos」- このHBOのシリーズは、ニュージャージーのマフィアボス、トニー・ソプラノの生活を描いたクライムドラマで、犯罪の裏世界や個人的な問題に取り組みます。
2. 「The Wire」- このHBOのシリーズは、バルチモアの麻薬取引をリアルに描いており、ドラッグが個人やコミュニティ、犯罪司法システムに与える影響を探求しています。
3. 「Mad Men」- 1960年代を舞台にしたこのAMCのシリーズは、マディソンアベニューの広告業界のエグゼクティブたちの生活を追います。

そして、このモデルはコンテキストとして4,000トークンしか持っていませんが、transformersのrotary position embedding scalingなどのサポートされているテクニックを使用して、さらに進化させることができます!

テキスト生成推論と推論エンドポイントの使用

テキスト生成推論は、大規模な言語モデルの簡単な展開を可能にするためにHugging Faceが開発した本番用の推論コンテナです。連続バッチ処理、トークンストリーミング、複数のGPUでの高速推論のためのテンソル並列処理、本番用のログ記録とトレースなど、さまざまな機能があります。

テキスト生成推論を独自のインフラストラクチャで試すか、Hugging Faceの推論エンドポイントを使用することもできます。Llama 2モデルを展開するには、モデルページにアクセスし、Deploy -> Inference Endpointsウィジェットをクリックします。

  • 7Bモデルの場合、「GPU [VoAGI] – 1x Nvidia A10G」を選択することをお勧めします。
  • 13Bモデルの場合、「GPU [xlarge] – 1x Nvidia A100」を選択することをお勧めします。
  • 70Bモデルの場合、「GPU [xxlarge] – 8x Nvidia A100」を選択することをお勧めします。

注意:A100にアクセスするためには、メールでクオータのアップグレードを要求する必要があるかもしれません[email protected]

Hugging Face Inference Endpointsを使用してLLMを展開する方法については、ブログで詳細をご確認いただけます。ブログには、サポートされているハイパーパラメータやPythonとJavascriptを使用してレスポンスをストリーミングする方法についての情報も含まれています。

PEFTでのファインチューニング

LLMのトレーニングは技術的にも計算的にも挑戦的な場合があります。このセクションでは、Hugging Faceエコシステムで利用可能なツールを見て、シンプルなハードウェア上でLlama 2を効率的にトレーニングする方法と、単一のNVIDIA T4(16GB – Google Colab)上でLlama 2の7Bバージョンをファインチューニングする方法を示します。詳細については、「Making LLMs even more accessible blog」をご覧ください。

QLoRAとtrlSFTTrainerを使用してLlama 2のファインチューニングを行うスクリプトを作成しました。

timdettmers/openassistant-guanacoでLlama 2 7Bをファインチューニングするための例のコマンドは、以下を参照してください。スクリプトは、LoRAの重みをモデルの重みにマージしてsafetensorの重みとして保存するためのmerge_and_push引数を提供します。これにより、トレーニング後にファインチューニングモデルをテキスト生成推論と推論エンドポイントを使用して展開することができます。

python finetune_llama_v2.py \
--model_name llamaste/Llama-2-7b-hf \
--dataset_name timdettmers/openassistant-guanaco \
--use_4bit \
--merge_and_push

追加リソース

  • ハブ上のモデル
  • リーダーボード
  • Llamaモデルのメタ例とレシピ

結論

私たちはLlama 2のリリースを非常に楽しみにしています!近日中に、独自のファインチューニングの方法、デバイス上での最小モデルの実行など、さまざまなエキサイティングなアップデートについての詳細をご紹介しますので、お楽しみに!

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

「機械学習 vs AI vs ディープラーニング vs ニューラルネットワーク:違いは何ですか?」

テクノロジーの急速な進化は、ビジネスが効率化のために洗練されたアルゴリズムにますます頼ることで、私たちの日常生活を形...

人工知能

ジョシュ・フィースト、CogitoのCEO兼共同創業者 - インタビューシリーズ

ジョシュ・フィーストは、CogitoのCEO兼共同創業者であり、感情と会話AIを組み合わせた革新的なプラットフォームを提供するエ...

人工知能

「LeanTaaSの創設者兼CEO、モハン・ギリダラダスによるインタビューシリーズ」

モーハン・ギリダラダスは、AIを活用したSaaSベースのキャパシティ管理、スタッフ配置、患者フローのソフトウェアを提供する...

AIニュース

Q&A:ブラジルの政治、アマゾンの人権、AIについてのGabriela Sá Pessoaの見解

ブラジルの社会正義のジャーナリストは、MIT国際研究センターのフェローです

人工知能

ベイリー・カクスマー、ウォータールー大学の博士課程候補 - インタビューシリーズ

カツマー・ベイリーは、ウォータールー大学のコンピュータ科学学部の博士課程の候補者であり、アルバータ大学の新入教員です...

AIテクノロジー

「LXTのテクノロジーバイスプレジデント、アムル・ヌール・エルディン - インタビューシリーズ」

アムル・ヌール・エルディンは、LXTのテクノロジー担当副社長ですアムルは、自動音声認識(ASR)の文脈での音声/音響処理と機...