catch-img

【Llama2】APIでの使い方 | Replicate API

この記事では、Llama2をWeb API経由で使う方法について解説しています。


目次[非表示]

  1. 1.Llama2とは
  2. 2.Llama2をAPIで使う方法(Replicate API)
  3. 3.一定の制約のもと無料で使える
  4. 4.実行環境
  5. 5.GitHubのアカウントを作成する
  6. 6.Replicateに登録する
  7. 7.APIトークンを発行する
  8. 8.モデルを探す
  9. 9.Jupyter Labの起動
  10. 10.トークンを入力
  11. 11.テキスト生成の実行
  12. 12.出力結果の確認
    1. 12.1.出力結果
    2. 12.2.日本語翻訳
  13. 13.LLMならGPUクラウド
  14. 14.まとめ


Llama2とは

Llama2(Large Language Model Meta AI 2/ラマツー)とは、Facebookを運営するMeta社が開発した言語生成AI(LLM)で、OpenAI社のChatGPTに匹敵するの性能を持っています。


Llama2の特徴としては、軽量モデルで高性能、そして無料で使えるオープンソースであるため、開発者にとって扱いやすいモデルになっています。

llama2


Llama2の詳細については、以下の記事で解説しています。


  Llama2とは?使い方・日本語性能・商用利用について解説 | 初心者ガイド この記事では、Llama2について幅広く解説しています。Llama2の性能や安全性、商用利用、日本語対応、様々な環境での使い方などに触れています。 業界最安級GPUクラウド | GPUSOROBAN


Llama2をAPIで使う方法(Replicate API)

Replicateは、手軽に生成AIモデルを実行できるクラウドプラットフォームです。

このプラットフォーム上で提供される生成AIモデルは、Web APIを通じてアクセス可能です。

APIを利用することで、数行のコードを実装するだけで、簡単にLlama2を実行できます。


一定の制約のもと無料で使える

Replicate APIは一定期間中、一定のトークン数までは無料で利用できます。ただし、一定のトークン数を超える場合は1トークンごとに料金が発生します。

クレジットカードを入力せずに利用できますので、以下のエラーメッセージがでるまでは無料で使うことができます。

replicate.exceptions.ReplicateError: You have reached the free time limit. To continue using Replicate, set up billing at https://replicate.com/account/billing#billing.


実行環境

Replicate APIを使用する際にコードが公開されている実行環境は以下のいずれかになります。
この記事ではPythonを使用しています。

  • Node.js
  • Python
  • Elixir
  • HTTP
  • Cog
  • Docker


GitHubのアカウントを作成する

登録がまだの場合は、GitHubのサイトにアクセスし、[Githubに登録する]からアカウント作成をします。


  GitHub Japan GitHubはソフトウェア開発のプラットフォームです。GitHubには8000万件以上ものプロジェクトがホスティングされており、2700万人以上のユーザーがプロジェクトを探したり、フォークしたり、コントリビュートしたりしています。 GitHub


llama-api


Replicateに登録する

GitHubのアカウントを作成したら、Replicateのサイトにアクセスします。


  Replicate Run open-source machine learning models with a cloud API https://replicate.com/


[Get started]ボタンをクリックして、続けて[Sign in with GitHub]ボタンをクリックします。

llama-api


llama-api


GitHubにサインインするページが表示されますので、GitHubで登録した[Username or email address]と[Password]を入力し、[Sign in]をクリックしてください。

llama-api


APIトークンを発行する

Replicateにログインが完了したら、[Account setting]のページから、APIトークンを発行します。

  Sign in – Replicate https://replicate.com/account/api-tokens



[API Tokens]に任意のトークン名を入力し、[Create token]をクリックすると、APIトークンの発行が完了します。

発行したAPIトークンは[コピー]ボタンから、コピーすることができます。

llama-api


モデルを探す

以下のページからReplicate APIで使用するモデルを検索します。


  Explore – Replicate Discover and share open-source machine learning models from the community that you can run in the cloud using Replicate. https://replicate.com/explore



[検索窓]に以下の表を参考に[model_id]を入力することで検索できます。

llama-api


model_id

パラメータ数

特徴

meta/Llama-2-7b

70億

ベースモデル

meta/Llama-2-13b

130億

ベースモデル

meta/Llama-2-70b

700億

ベースモデル

meta/Llama-2-7b-chat

70億

自然な会話ができるように

ベースモデルをファインチューニングしたモデル

meta/Llama-2-13b-chat

130億

自然な会話ができるように

ベースモデルをファインチューニングしたモデル

meta/Llama-2-70b-chat

700億

自然な会話ができるように

ベースモデルをファインチューニングしたモデル


モデルのページが表示されたら、[Python]のタブをクリックします。

llama-api


そこにPythonでAPIを使用するコードが書かれていますので、コピーして利用できます。

特に[meta/llama-2-7b-chat:xxxx]と書かれているモデルIDを後ほど使いますので、控えておきます。

llama-api


Jupyter Labの起動

この記事ではJupyter LabのUIでPythonを使用しています。

コードセルで次のコマンドを実行し、必要なライブラリをインストールします。

pip install replicate


必要なライブラリをインポートします。

import os
import replicate


トークンを入力

発行したトークンを次のコマンドに埋め込み、コードセルを実行します。

os.environ["REPLICATE_API_TOKEN"] = "r8_Cnc*********************"


テキスト生成の実行

モデルを指定して、テキスト生成を行います。

["meta/llama-****************"]の部分がmodel_idになりますので、他のモデルを使用する場合は差し替えてください。

["prompt":]にプロンプトを入力します。

output = replicate.run(
  "meta/llama-2-7b-chat:13c3cdee13ee059ab779f0291d29054dab00a47dad8261375654de5540165fb0",
  input={
    "debug": False,
    "top_k": -1,
    "top_p": 1,
    "prompt": "Please tell me how to make cream puffs.",
    "temperature": 0.75,
    "system_prompt": "You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.\n\nIf a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.",
    "max_new_tokens": 800,
    "min_new_tokens": -1,
    "repetition_penalty": 1
  }
)
print(output)

<generator object Prediction.output_iterator at 0x7fb494163a70>


出力結果の確認

次のコマンドを実行し、テキストの生成結果を確認します。

full_response = ""
for item in output:
  full_response += item
print(full_response)


出力結果

Of course, I'd be happy to help you with that! Cream puffs are a delicious dessert that can be made in a few simple steps. Here's a recipe to make cream puffs:
Ingredients:

1 (14 oz) package of puff pastry, thawed
1 cup of heavy cream
1/2 cup of granulated sugar
1 tsp of vanilla extract
1/4 tsp of salt
Egg wash (1 egg beaten with 1 tbsp of water)
Instructions:
Preheat your oven to 400°F (200°C). Line a baking sheet with parchment paper.
Roll out the puff pastry on a lightly floured surface to a thickness of about 1/8 inch.
In a separate bowl, mix together the heavy cream, granulated sugar, vanilla extract, and salt.
Use a star tip or a router to create a design on the pastry, about 1 inch (2.5 cm) from the edge.
Pour the cream mixture into the pastry, making sure to fill the design you created.
Use an egg wash to brush the edges of the pastry, creating a finished look.
Bake the puffs for 20-25 minutes, or until they are golden brown.
Allow the puffs to cool for a few minutes before serving.
Tips:
Make sure to handle the puff pastry gently, as it can be delicate.
Use a cookie cutter to create a fun design for your puffs.
If you want to add a second layer of flavor, you can fill the puffs with a different cream mixture before baking.
You can also add different toppings, such as chocolate chips or fruit, to give your puffs a unique taste.
I hope this helps you make delicious cream puffs! Let me know if you have any questions or if there's anything else I can help you with.


    日本語翻訳

    もちろん、喜んでお手伝いさせていただきます! シュークリームは簡単な手順で作れるおいしいデザートです。 シュークリームの作り方をご紹介します。
    材料:
    
    解凍したパイ生地 1 (14 オンス) パッケージ
    ※生クリーム 1カップ
    ※グラニュー糖 1/2カップ
    *バニラエッセンス 小さじ1
    ※塩 小さじ1/4
    ※卵液(卵1個に水大さじ1を加えて溶きます)
    説明書:
    オーブンを 400°F (200°C) に予熱します。 天板にクッキングシートを敷きます。
    軽く打ち粉をした表面でパイ生地を約 1/8 インチの厚さに伸ばします。
    別のボウルに生クリーム、グラニュー糖、バニラエッセンス、塩を入れて混ぜます。
    スターチップまたはルーターを使用して、ペストリーの端から約 1 インチ (2.5 cm) の位置にデザインを作成します。
    クリーム混合物をペストリーに注ぎ、作成したデザインを必ず塗りつぶします。
    卵液を使ってパイ生地の端をブラッシングし、完成した外観を作ります。
    パイ生地を20〜25分間、またはきつね色になるまで焼きます。
    お召し上がりになる前に、パイ生地を数分間冷ましてください。
    Tips:
    ※パイ生地はデリケートなため、優しくお取り扱いください。
    クッキーの抜き型を使って、パイ生地の楽しいデザインを作成してください。
    2層目のフレーバーを追加したい場合は、焼く前に別のクリーム混合物をパイ生地に詰めることができます。
    チョコレートチップやフルーツなどのさまざまなトッピングを追加して、パイ生地にユニークな味を与えることもできます。
    美味しいシュークリーム作りの参考になれば幸いです! ご質問がある場合、または他にお手伝いできることがございましたら、お知らせください。


      LLMならGPUクラウド

      Llama2やその他のLLMを使用する際には、モデルサイズやタスクに応じて必要なスペックが異なります。

      LLMで使用されるGPUは高価なため、買い切りのオンプレミスよりも、コストパフォーマンスが高く柔軟な使い方ができるGPUクラウドをおすすめしています。


      GPUクラウドのメリットは以下の通りです。

      • 必要なときだけ利用して、コストを最小限に抑えられる
      • タスクに応じてGPUサーバーを変更できる
      • 需要に応じてGPUサーバーを増減できる
      • 簡単に環境構築ができ、すぐに開発をスタートできる
      • 新しいGPUを利用できるため、陳腐化による買い替えが不要
      • GPUサーバーの高電力・熱管理が不要


      コスパをお求めなら、メガクラウドと比較して50%以上安いGPUクラウドサービス「GPUSOROBAN」がおすすめです。

        生成AIに最適なGPUクラウド「高速コンピューティング」|GPUSOROBAN GPUSOROBANの高速コンピューティングは、NVIDIAの高速GPUが業界最安級で使えるクラウドサービスです。NVIDIA A100を始めする高速GPUにより、画像生成AI、大規模言語モデルLLM、機械学習、シミュレーションを高速化します。 業界最安級GPUクラウド | GPUSOROBAN


      まとめ

      この記事では、Llama2をWeb API経由で使う方法について紹介しました。

      Llama2は無料で使えて商用利用可能な利便性の高いモデルでありながら、ChatGPTと同等以上の性能があります。

      Llama2に関する詳細な情報は、以下の記事でまとめて紹介していますので、あわせてご覧ください。


        Llama2とは?使い方・日本語性能・商用利用について解説 | 初心者ガイド この記事では、Llama2について幅広く解説しています。Llama2の性能や安全性、商用利用、日本語対応、様々な環境での使い方などに触れています。 業界最安級GPUクラウド | GPUSOROBAN



      MORE INFORMATION

      GPUでお困りの方はGPUSOROBANで解決!
      お気軽にご相談ください

      10日間無料トライアル
      詳しい資料はこちら
      質問・相談はこちら