Edinburgh Castle
© Copyright David Dixon and licensed for reuse under this Creative Commons Licence.

 

前回は、気になっていたLlama-2を取り上げましたが、Llama2.aiのサイトで実際に使ってみた限り、GPT-4と比べてあまり優位性は感じられませんでした。

ただ、Edge Copilot(with Bing Chat)が、Llama2を試すための環境として、llama2.aiサイトの他に、「Hugging Face」を上げていたので、今回は、Hagging FaceでのLlama2利用方法について調べ、できれば、その環境でのLlama-2の振舞いを確認しようと思います。

なお、今回もEdge Copilot(with Bing Chat)をベースに調査を行いました。

 


 

私#1

前回、あなたは、Llama-2を使ってみる環境として、llama2.aiサイトの他にHugging Faceが利用可能だと教えてくれましたが、このHugging Faceとは何なのか教えてください。

Copilot#1

Hugging Faceは、人工知能(AI)の分野で急速に注目を集めているプラットフォームの一つです。このプラットフォームは、AIモデルやデータセットを共有・利用することを主な目的としています。具体的には、研究者や開発者が作成したAIモデルやデータセットを公開し、他のユーザーがそれらを利用して研究や開発を進めることができます。

Hugging Faceには、Transformersというライブラリが含まれており、これを使用することで、深層学習に関するデータを利用することが可能です。また、Datasetsというライブラリも提供されており、これには大規模なデータセットが公開されています。これらのライブラリを活用することで、AIの研究や開発をより効率的に進めることが可能になります。

さらに、Hugging Faceは転移学習を容易に行うことができます。転移学習は、深層学習の分野で非常に重要な技術の一つであり、事前に大量のデータを用いて学習したモデルを新しいタスクに合わせて再学習させることを指します。

Hugging Faceは自然言語処理の分野で非常に人気のあるライブラリを提供している企業です。その中でも特に注目されているライブラリはTransformersとDatasetsです。これらのライブラリは自然言語処理の研究や実務での利用に役立ちます。

以上がHugging Faceの概要です。詳細な情報や使い方などは公式サイトや各種ドキュメンテーションをご覧ください。

 

私#2

Hugging faceという企業について、もう少し詳しく教えてください。

Copilot#2

Hugging Faceは、機械学習アプリケーションを作成するためのツールを開発しているアメリカの企業です。自然言語処理アプリケーション向けに構築されたTransformersライブラリや潜在拡散モデルを扱うDiffusersライブラリなどのライブラリに加え、ユーザーが機械学習モデルやデータセットを共有するためのプラットフォームなどを提供しています。

Hugging Faceは、2016年にクレム・デラングとジュリアン・ショーモン、トーマス・ウルフらによって設立されました。当初は10代をターゲットとしたチャットボットを開発する会社として設立されましたが、その後、AIの分野で急速に成長し、オープンソースのツールやモデルを提供することによって、AI技術の普及に貢献しています。

Hugging Faceは、AI技術の発展に貢献するため、コミュニティーに対して無料でサービスを提供しています。また、有料のサポートサービスやコンサルティングサービスなども提供しています。

Hugging Faceは、AI開発オープンソースプラットフォームである「Hugging Face Hub」を主力事業としています。ユーザーは、同プラットフォームを介し、プレトレーニングされたAIモデル、データセット、デモAIアプリにアクセスし、AI開発を行うことができます。

以上がHugging Faceについての詳細情報です。詳細な情報や使い方などは公式サイトや各種ドキュメンテーションをご覧ください。

 

私#3

Hugging Faceが提供するプラットフォームでLlama-2を使う場合のやり方を教えてもらえますか?

Copilot#3

Hugging FaceのプラットフォームでLlama-2を使う方法は以下の通りです:

利用申請: まず、Metaの「Llama 2」リポジトリ内の使用するモデルへの利用申請を行ってください。公式のMetaのフォームにも必ず記入してください。両方のフォームに入力すると、数時間後にリポジトリへのアクセスが許可されます。

Hugging Faceアカウントにログイン: 最新の「transformers」を使用し、Hugging Faceアカウントにログインしてください。以下のコマンドを実行します:

pip install transformers

huggingface-cli login

 

推論: 「transformers」による推論の例は、次のとおりです:

Python

AI で生成されたコード。ご確認のうえ、慎重にご使用ください。FAQ で詳細を確認。

 

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(‘I liked “Breaking Bad” and “Band of Brothers”. Do you have any recommendations of other shows I might like?\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”Result: {seq[‘generated_text’]}”)

 

このコードは、ユーザーが「Breaking Bad」と「Band of Brothers」が好きだと言ったときに、他にどんな番組が好きかを推測します。

以上がHugging FaceでLlama-2を使う基本的な手順です。詳細な情報や使い方などは公式サイトや各種ドキュメンテーションをご覧ください。

 

私#4

なるほど、「transformersによる推論」のPythonコードの中で、モデルとしてLlama-2を指定することで、Llama-2を利用することができるわけですね。

Copilot#4

はい、その通りです。Pythonのコード内でHugging FaceのTransformersライブラリを使って、特定のモデル(この場合はLlama-2)を指定することで、そのモデルを利用して推論を行うことができます。このようにして、Llama-2のような先進的なAIモデルを簡単に利用することが可能になります。 さらに詳しい情報や使い方については、Hugging Faceの公式ドキュメンテーションをご覧ください。 何か他にご質問がありましたら、お気軽にどうぞ。

 

私#5

Llama-2のモデルには、上のコード例にある7Bモデルだけでなく、13B、70Bのものも使えるのでしょうか?

Copilot#5

はい、その通りです。Llama-2には、パラメータ数が7B(70億)、13B(130億)、70B(700億)の3つのモデルサイズが用意されています。これらのモデルはすべて2兆個のトークンで訓練されており、前世代のLlama-1と比べて2倍のコンテキスト長を扱うことができます。

ただし、パラメータ数が多いほど回答の精度が高くなる一方で、計算コストがかかるため、使用するモデルの選択は使用環境や目的によります。具体的な使用方法は、Hugging FaceのTransformersライブラリを使って特定のモデルを指定することで、そのモデルを利用して推論を行うことができます。

以下にPythonコードの一部を示します。このコードでは、model変数に使用するモデルを指定しています。

Python

AI で生成されたコード。ご確認のうえ、慎重にご使用ください。FAQ で詳細を確認。

 

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”,)

 

このようにして、Llama-2の7B、13B、70Bモデルを利用することが可能です。ただし、各モデルの性能や使用環境に応じた最適な設定については、公式ドキュメンテーションや関連資料をご覧ください。

 

私#6

計算コストに関してですが、Microsoft Azureでは、Llama-2利用料はかからないとのことなのですが、Hugging Faceの場合、Llama-2を利用する場合の標準的なコストを教えてもらえますか?

Copilot#6

Hugging FaceのプラットフォームでLlama-2を利用する際のコストは、主に以下の2つの要素から成り立ちます:

リソースコスト: これは、モデルの推論を行うために必要な計算リソース(CPUやGPUなど)のコストです。このコストは、使用するモデルのサイズ(7B、13B、70B)や推論の頻度、そして使用するクラウドサービスプロバイダー(AWS、GCP、Azureなど)によって異なります。

サービスコスト: Hugging Faceでは、一部の機能やサービスに対して追加の料金が発生する場合があります。例えば、Hugging FaceのInference APIを使用する場合や、特定の商用利用がある場合などです。

具体的なコストについては、Hugging Faceの公式ウェブサイトや各クラウドサービスプロバイダーの料金表をご覧ください。また、Llama-2自体はMetaからリリースされたオープンアクセスの大規模言語モデルであり、商用利用も可能とされています。ただし、月間アクティブユーザー数が7億人を超える製品で利用する場合はMetaにライセンスを要求しなければならないとされています。

 

私#7

つまり、Hugging Faceは、OpenAIのChatGPTのような、ユーザが直接アクセスできるインターフェイスを提供していないので、AWS、GCPやAzure等、Hugging FaceのプラットフォームをPaaSの1つとしてサポートしているクラウドで、Llama-2を利用する必要があり、そのためのリソースは、AWS、GCPやAzure等のクラウドのIaaSを利用するという2段構えになるということですね?

Copilot#7

はい、その理解で正確です。Hugging Faceは、AIモデルやデータセットを共有・利用するためのプラットフォームを提供しています。このプラットフォームは、AWS、GCP、Azureなどのクラウドサービス上で動作し、ユーザーはこれらのクラウドサービスを通じてHugging Faceのプラットフォームにアクセスします。

したがって、Llama-2などのAIモデルを利用するためには、まずHugging Faceのプラットフォームをサポートしているクラウドサービスでリソースを確保する必要があります。そして、その上でHugging Faceのプラットフォームを通じてAIモデルを利用します。

このように、Hugging Faceのプラットフォームとクラウドサービスが連携して動作することで、ユーザーは自分のニーズに合わせてAIモデルを柔軟に利用することが可能になります。ただし、具体的なコストや設定方法などは、使用するクラウドサービスやAIモデルによりますので、各サービスの公式ドキュメンテーションをご覧ください。

 

私#8

AzureでLlama-2を使ってみようとした場合、最小VM構成でも日本円にして、約60万円/月が必要との結論になり、試しに使ってみるのをあきらめたのですが、AWS、GCP、IBMクラウドでLlama-2を利用するにあたっても、同様でしょうか?

多分、AWS、GCP、IBMクラウドそれぞれに訊いてみた方が良いのでしょうが、わかれば教えてください。

Copilot#8

AWS、GCP、IBMクラウドでLlama-2を利用するための具体的なコストは、それぞれのクラウドサービスの料金体系や利用するリソースの量、利用時間などによります。以下に、それぞれのクラウドサービスでのLlama-2利用に関する情報をまとめてみました。

AWS: AWSでは、Amazon BedrockでLlama-2を利用することができます。具体的な料金については公式サイトやAWSの料金計算ツールをご覧いただくことをおすすめします。

GCP: GCPでのLlama-2利用については、具体的な情報が見つかりませんでした。GCPの料金体系はAWSと似ていますが、詳細はGCPの公式サイトや料金計算ツールをご覧ください。

IBM Cloud: IBM Cloudでは、IBM watsonxでLlama-2を利用することが可能です。具体的な料金については公式サイトやIBM Cloudの料金計算ツールをご覧いただくことをおすすめします。

それぞれのクラウドサービスで提供されているツールやサービスを活用して、最適なコストパフォーマンスを得られるよう計画することが重要です。また、各クラウドサービスの公式サポートに問い合わせることで、より詳しい情報やアドバイスを得ることも可能です。ご参考までにどうぞ。

 

私#9

llama2.aiのように、もっと手軽にLlama-2を使ってみることができるサイトはないでしょうか?

Copilot#9

はい、Llama-2を手軽に試すことができるウェブサイトとして、「LLaMA2 Chatbot」があります。このサイトでは、ブラウザ上からLlama-2を無料で試すことができます。モデルやパラメーターを変更したり、チャット履歴を削除したりすることが可能です。また、選択できるモデルはパラメーター数が700億の「LLaMA2-70B」、パラメーター数が130億の「LLaMA2-13B」、パラメーター数が70億の「LLaMA2-7B」の3つです。

また、「Replicate」というAIモデルを誰でも簡単にデプロイできるサイトでもLlama-2を利用することが可能です。

これらのサイトを利用すれば、自身でリソースを確保することなく、手軽にLlama-2を試すことができます。ただし、これらのサイトは試用目的であり、大規模な利用や商用利用を考える場合は、適切なリソースと設定を持つクラウドサービスを利用することをお勧めします。

 

私#10

確認したところ、「LLaMA2 Chatbot」というのは、llama2.aiのことのようでした。「Replicate」についても確認したところ、「Accessing Llama 2 from the command-line with the llm-replicate plugin」にコマンドラインからLlama2を使うための方法が説明されていましたが、ちょっと手間がかかりそうなので、パスすることにしました。

Copilot#10

Llama-2を試すことができるウェブサイトについて、ご確認いただきありがとうございます。llama2.aiとLLaMA2 Chatbotは同じサイトであり、Llama-2の7B、13B、70Bモデルを無料で試すことができます。Replicateでは、コマンドラインからLlama-2を利用するためのプラグインを提供していますが、少し手間がかかるかもしれません。

もし、Llama-2をより本格的に利用したい場合は、Hugging Faceのプラットフォームやクラウドサービスを利用することをお勧めします。ただし、その場合はリソースやコストの計画をしっかりと行う必要があります。各サービスの公式ドキュメンテーションや料金計算ツールなどをご活用ください。

Llama-2に関するご質問は以上でよろしいでしょうか?もし他に何かございましたら、お気軽にどうぞ。

 


 

ということで、残念ながら、「LLaMA2 Chatbot(=llama2.ai)」以外には、無料でLlama-2を手軽に試せるサイトがなさそうなので、Llama-2に関するレポートは、これで終了とします。

 

なお、前回llama2.aiの説明で触れていませんでしたが、llama2.aiの初期画面の右上の「Settings」をクリックすると、以下のように、設定のメニュー画面が現れ、モデルの切替え(Llama size)だけでなく、生成するテキストの多様性を指示するtemperature、生成するテキストの上限Max tokens、回答の一貫性を指示するTop Pパラメタの値を指定することができます。他に、図では、モデルの切替えオプションメニューで隠れてしまっていますが、System Promptとして、「You are a helpful assistant.」がデフォルトで入っており、この内容も変更が可能です。

また、それより何より、図中赤枠で囲みましたが、llama2-aiのサイト自体が「Replicate」を使ったプロジェクトで作成されていることもわかりました。

本日は以上です。

 

終わり