「LlaMA 2の始め方 | メタの新しい生成AI」

Introduction to LlaMA 2 | New AI for Meta Generation

イントロダクション

OpenAIからGPTがリリースされて以来、多くの企業が独自の堅牢な生成型大規模言語モデルを作成するための競争に参入しました。ゼロから生成型AIを作成するには、生成型AIの分野での徹底的な研究と数多くの試行錯誤が必要な場合があります。また、大規模言語モデルの効果は、それらが訓練されるデータに大きく依存するため、高品質なデータセットを注意深く編集する必要があります。さらに、これらのモデルを訓練するためには膨大な計算能力が必要であり、多くの企業がアクセスできない状況です。そのため、現時点では、OpenAIやGoogleを含むわずかな企業しかこれらの大規模言語モデルを作成できません。そして、ついにMetaがLlaMAの導入でこの競争に参加しました。

学習目標

  • 新しいバージョンのLlaMAについて知る
  • モデルのバージョン、パラメータ、モデルのベンチマークを理解する
  • Llama 2ファミリのモデルにアクセスする
  • さまざまなプロンプトでLlaMA 2を試して出力を観察する

この記事はData Science Blogathonの一環として公開されました。

Llamaとは何ですか?

LlaMA(Large Language Model Meta AI)は、特にMeta AI(元Facebook)が所有する会社であるMeta AIによって開発された基礎となる大規模言語モデルのグループである生成型AIモデルです。Metaは2023年2月にLlamaを発表しました。Metaは、7、13、33、および65兆のパラメータを持つコンテキスト長2kトークンの異なるサイズのLlamaをリリースしました。このモデルは、研究者がAIの分野での知識を進めるのを支援することを目的としています。小型の7Bモデルは、計算能力が低い研究者がこれらのモデルを研究することを可能にします。

LlaMaの導入により、MetaはLLMの領域に参入し、OpenAIのGPTやGoogleのPaLMモデルと競合しています。Metaは、限られた計算リソースで小さなモデルを再トレーニングまたは微調整することで、それぞれの分野で最先端のモデルと同等の結果を達成できると考えています。Meta AIのLlaMaは、LlaMAモデルファミリが完全にオープンソースであり、誰でも無料で使用できるだけでなく、研究者のためにLlaMAの重みを非営利目的で公開しているため、OpenAIやGoogleのLLMとは異なります。

前進

LlaMA 2は、Metaが2023年7月にリリースした前バージョンのLlaMAバージョン1を上回ります。LlaMA 2は、7B、13B、および70Bパラメータモデルの3つのサイズで登場しました。LlaMA 2は、リリース時にHugging Faceで最高のスコアを達成しました。すべてのセグメント(7B、13B、70B)を通して、Hugging Faceで最高のパフォーマンスを発揮するモデルはLlaMA 2から派生しており、微調整または再トレーニングされました。

Llama 2は2兆のプレトレーニングトークンで訓練されました。すべてのLlama 2モデルのコンテキスト長は4kです(Llama 1のコンテキスト長の2倍)。Llama 2は、MMLU、TriviaQA、Natural Question、HumanEvalなどのさまざまなベンチマークで、FalconやMPTなどの最先端のオープンソースモデルを上回りました(Meta AIのウェブサイトで包括的なベンチマークスコアを見つけることができます)。さらに、Llama 2は、チャット関連のユースケースに対して約100万件の人間の注釈付きデータでトレーニングを行いました。これらのチャットモデルはHugging Faceのウェブサイトで簡単に使用できます。

LlaMA 2へのアクセス

Llama 2のソースコードはGitHubで利用できます。オリジナルの重みで作業する場合は、Meta AIのウェブサイトに名前とメールアドレスを提供する必要があります。Meta AIのウェブサイトに移動して、名前、メールアドレス、組織(学生の場合は学生)を入力してください。次に、下にスクロールし、[同意して続ける]をクリックします。これで、モデルの重みをダウンロードできるメールが届きます。以下のようなフォームになります。

モデルで作業する方法は2つあります。1つは、メール内の指示とリンクを使用してモデルを直接ダウンロードする方法(ハードな方法で、まともなGPUがある場合にのみ有効です)、もう1つはHugging FaceとGoogle Colabを使用する方法です。この記事では、誰でも試すことができる簡単な方法について説明します。Google Colabに進む前に、Hugging Faceのアカウントを設定し、推論APIを作成する必要があります。その後、Hugging FaceのLlama 2モデルに移動する必要があります(ここをクリックするとできます)。そして、Meta AIのウェブサイトに提供したメールアドレスを入力します。そうすると、認証され、以下のようなものが表示されます。

さて、Hugging Faceを介してLlama 2モデルをダウンロードし、それを使って作業を開始することができます。

Hugging FaceとColabでのLlaMA

最後のセクションでは、Llama 2モデルをテストする前に必要なものを見てきました。Google Colabで必要なライブラリをインポートして始めましょう。これはpipコマンドで行うことができます。

!pip install -q transformers einops accelerate langchain bitsandbytes

Llama 2で作業を開始するためには、これらの必要なパッケージをインストールする必要があります。また、モデルをダウンロードするためにHugging Faceのtransformersライブラリも必要です。einops関数はモデル内で簡単な行列の乗算を実行します(Einstein Operations / Summation表記を使用します)、accelerateは推論を高速化するためにビットとバイトを加速させます。langchainは私たちのllamaを統合します。

次に、Hugging FaceにColabを介してログインし、Hugging FaceのAPIキーを使用してllamaモデルをダウンロードすることができます。そのためには、以下の操作を行います。

!huggingface-cli login

ここで、先に作成したHugging Face Inference APIキーを入力します。そして、Add token as git credential? (Y/n)と表示されたら、nと回答することができます。これでHugging FaceのAPIキーにログインし、モデルをダウンロードする準備ができました。

Hugging FaceのAPIキー

さて、モデルをダウンロードするためには、以下のコードを記述します。

from langchain import HuggingFacePipeline
from transformers import AutoTokenizer
import transformers
import torch

model = "meta-llama/Llama-2-7b-chat-hf"

tokenizer = AutoTokenizer.from_pretrained(model)

pipeline = transformers.pipeline(
    "text-generation", 
    model=model,
    tokenizer=tokenizer,
    torch_dtype=torch.bfloat16,
    trust_remote_code=True,
    device_map="auto",
    max_length=1000,
    eos_token_id=tokenizer.eos_token_id
)
  • ここでは、Google Colabの無料GPUで完璧に動作するLlama 2 7Bバージョンへのパスをmodel変数に指定しています。それ以上のバージョンでは、Colabの無料版では不可能な追加のVRAMが必要です。
  • 次に、Llama 2 7BモデルのトークナイザーをAutoTokenizer.from_pretrained()関数に指定してダウンロードします。
  • その後、transformerのpipeline関数を使用し、モデルなどのすべてのパラメーターを渡します。device_map = auto tokenizerは、colabでGPUを使用するためのモデルを許可します。
  • 最大出力トークンを1000とし、torchのデータ型をfloat16に設定します。最後に、モデルが回答を書き込む際に使用するeos_token_idを渡します。
  • これを実行すると、モデルがColabにダウンロードされますが、これには時間がかかります。ダウンロードサイズは約10GBです。次に、以下のコードを使用してHuggingFacePipelineを作成します。
llm = HuggingFacePipeline(pipeline = pipeline, model_kwargs = {'temperature':0})

ここで、モデルの温度を設定し、作成したパイプラインをpipeline変数に渡します。このHuggingFacePipelineを使用して、ダウンロードしたモデルを使用することができます。

プロンプトテンプレート

モデル用のプロンプトテンプレートを作成し、それをテストします。

from langchain import PromptTemplate,  LLMChain

template = """
              あなたは人々に役立つ情報を提供する知的なチャットボットです。
              文の先頭に番号付きの矢印を付けて応答を返します
              {query}
           """

prompt = PromptTemplate(template=template, input_variables=["query"])

llm_chain = LLMChain(prompt=prompt, llm=llm)
  • ここでは、テンプレートはシンプルです。Llamaモデルにユーザーのクエリに答えさせ、番号付きのポイントとして返します。
  • その後、このテンプレートをPrompTemplate関数に渡し、templateとinput_variableのパラメーターを割り当てます。
  • 最後に、Llama LLMとPromptをチェーンしてモデルの推論を開始します。さあ、モデルについての質問をしてみましょう。
print(llm_chain.run('氷河の溶解の3つの原因は何ですか?'))

したがって、私たちはモデルに氷河の溶解の3つの可能な原因をリストアップするように依頼しました。モデルは次のように返答しました:

モデルは非常に優れた結果を出しました。最も良い部分は、ポイントを表すために絵文字の番号付けを使用し、出力には正確に3つのポイントが含まれていることです。さらに、氷河を表すために水の満ち潮の絵文字を使用しています。このように、Hugging FaceとColabを使用してLlama 2で作業を開始することができます。

結論

この記事では、Meta AIが作成し公開したLlaMA(Large Language Model Meta AI)モデルについて簡単に説明しました。そのモデルの異なるサイズについて学び、バージョン2であるLlama 2が他の最先端のオープンソースLLMと比較して異なるベンチマークで明確に優れていることを見てきました。最後に、Llama 2モデルのトレーニング重みにアクセスする手順について説明しました。最後に、Hugging FaceとLangChainライブラリを使用してGoogle ColabでLlama-2 7Bチャットバージョンを実行しました。

主なポイント

この記事からの主なポイントは次のとおりです:

  • Metaは、研究者がAIについてより深く理解するのを支援するためにLlamaモデルを開発しています。
  • 特に小さい7BバージョンのLlamaモデルは効率的にトレーニングでき、非常に優れたパフォーマンスを発揮します。
  • さまざまなベンチマークを通じて、Llama 2は他の最先端のオープンLLMと比較して競争に勝っていることが証明されました。
  • MetaのLlama 2をOpenAIのGPTやGoogleのPaLMと異なる要素は、それがオープンソースであり、誰でも商業アプリケーションに使用することができることです。

よくある質問

この記事に表示されているメディアはAnalytics Vidhyaの所有ではなく、著者の裁量で使用されています。

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

機械学習

このAI論文は、デュアル1-Dヒートマップを使用したリアルタイムマルチパーソンポーズ推定の画期的な技術であるRTMOを紹介しています

姿勢推定とは、物体の位置と方向を空間上で決定することを含む分野であり、継続的に新しい手法を開発して精度とパフォーマン...

機械学習

WAYVE社がGAIA-1を発表:ビデオ、テキスト、アクション入力を活用して現実的な運転ビデオを作成する自律性のための新しい生成AIモデル

自動車産業は長年、自律走行を目指し、交通を革命化し、道路安全性を高めることを認識してきました。しかし、複雑な現実のシ...

AIニュース

アマゾンのキャッシュレス「手のひらで支払う」技術は手の振りだけで済みます

「小売業の巨人アマゾンは、顧客が手のひらで支払いができる新しい非接触トランザクションサービスを発表しました」

AI研究

スタンフォードの研究者たちは「CORNN」という機械学習手法を紹介します:大規模な脳神経記録のリアルタイム分析のためのものです

技術の進歩により、神経科学の研究分野では新たな時代を迎えました。この非凡な力により、生物の脳機能と行動の微妙な関係を...

人工知能

ChatGPT CLI コマンドラインインターフェースをChatGPTに変換する

コマンドプロンプトでGPTモデルを使用するための簡単な方法

AI研究

Meta AIとSamsungの研究者が、学習率適応のための2つの新しいAI手法、ProdigyとResettingを導入し、最先端のD-Adaptation手法の適応率を改善しました

現代の機械学習は、コンピュータビジョン、自然言語処理、強化学習など、さまざまな分野で難しい問題に効果的な解答を提供す...