こんにちは、スクーティー代表のかけやと申します。
弊社は生成AIを強みとするベトナムオフショア開発・ラボ型開発や、生成AIコンサルティングなどのサービスを提供しており、最近はありがたいことに生成AIと連携したシステム開発のご依頼を数多く頂いています。 Meta社が最新のLLM「Llama 3」をオープンソースとして公開したことが話題になっています。早速、GroqというLLMの推論を超高速に動作することができるサービスを経由してLlama 3を試してみましたので、実際に動作を確認できるまでの過程も含めてお伝えしようと思います。Llama 3もすごかったですが、Groqの圧倒的高速レスポンスに衝撃を受けました・・・! 目次
本題に入る前に、生成AIとは何か?ChatGPTとは何か?を確認しておきたい方は、下記の記事を御覧ください。
Groqについて
Groqとは
Groqは、特に大規模言語モデル(LLM)の推論を高速化するために設計されたカスタムハードウェア、言語処理ユニット(LPU)を開発している企業です。この技術は、従来のハードウェアと比較して、処理速度を大幅に向上させることが特徴です。
GroqのLPUは、他のクラウドベースのサービスプロバイダよりも最大18倍速い推論性能を実現しています。Groqはこの技術を用いて、リアルタイムAIアプリケーションの性能を最大限に引き出すことを目指しています。 また、Groqは最近、「Groq Systems」という新しい事業部門を設立し、データセンターへのチップ導入や新たなデータセンターの構築を支援しています。さらに、ビジネス向けAIソリューションを提供するDefinitive Intelligenceを買収し、技術力と市場影響力をさらに強化しています。 Groqが提供するLPUとは
GroqのLPU(Language Processing Unit)は、AI言語モデルの推論性能と精度の向上を目的として設計された専用プロセッサです。従来のGPUと異なり、LPUはシーケンシャルな計算作業に特化しており、大規模言語モデルに必要な計算とメモリ帯域幅のボトルネックを解消します。例えば、LPUはGPUと比較して単語あたりの計算時間を削減し、無外部メモリ帯域幅のボトルネックを持たないため、グラフィックスプロセッサよりも桁違いに優れたパフォーマンスを提供します。
技術的な特徴として、LPUは数千の単純な処理要素(PE)を持ち、これらはSingle Instruction, Multiple Data(SIMD)配列で構成されています。これにより、データポイントごとに同じ命令を同時に実行することができます。さらに、中央制御ユニット(CU)が指示を出し、メモリ階層とPE間でのデータの流れを管理し、一貫性のある同期通信を維持します。 LPUを使用する主な効果としては、AIと機械学習のタスクでの高速化が挙げられます。例えば、GroqはLlama-2 70BモデルをLPUシステム上で300トークン/秒/ユーザーという速度で実行しており、これは以前の100トークンや240トークンと比べて顕著な向上です。このように、LPUはAIの推論タスクをリアルタイムで低遅延に処理し、エネルギー効率の良いパッケージで提供することが可能です。これにより、高性能計算(HPC)やエッジコンピューティングなどの分野で革新的な変化を期待できます。 圧倒的に安いGroqのAPI
Groqのハードウェアリソースは、Groqが提供するAPIを介して利用することができます。このAPIの使用料がものすごく安いこともGroqのサービスの特徴の一つです。
つまりGroqは速くて安い
下記の図は、ArtificialAnalysis.aiによるAPIプロバイダーを比較したもので、横軸に価格、縦軸にスループット(token/秒)をマッピングしたものです。この図からもわかるようにGroqは圧倒的に速くて安いことがわかり、特にスループットでは他のAPIプロバイダーと大きく差を着けていることが視覚的にわかります。
Llama 3についてLlama 3の概要と特徴
Llama 3は、Metaが開発した最新の大規模言語モデル(LLM)です。このAIは、テキストデータの膨大なデータセットに基づいて訓練されており、言語を包括的に理解し、応答する能力を持っています。Llama 3は、クリエイティブなコンテンツの作成、言語の翻訳、質問への情報提供など、多岐にわたるタスクに適しています。このモデルは、AWS、Databricks、Google Cloudなどのプラットフォームで利用可能で、開発者や研究者が更にAIを発展させるための基盤として機能します。Metaは、Llama 3をオープンソースとして提供することで、技術の透明性を高め、幅広い開発者との協力を促進しています。
以下に、Metaが公開しているLlama 3の特徴を列挙します。
Llama 3のベンチマークに沿ったパフォーマンス評価
Llama 3は、業界標準のベンチマークで顕著な性能を示しています。特に、言語理解、論理推理、問題解決能力の領域で優れていることが確認されています。新たに導入された8Bおよび70Bパラメータのモデルは、前モデルのLlama 2と比較して、理解と応答の精度が大幅に向上しています。
Llama 3は、特にコード生成や指示に基づくタスクの遂行能力が高いと評価されており、これらの能力はMetaの独自開発したトレーニング手法によりさらに強化されています。また、このモデルは多言語に対応しており、30以上の言語で高品質なパフォーマンスを提供します。 現在公開されているMetaのLlama 3モデルには、Llama 3 8BとLlama 3 70Bの二つのバージョンがあり、「8B」は80億個のパラメータを、「70B」は700億個のパラメータを持っています。下記の図が、Metaが公開しているベンチマーク評価の結果ですが、70Bモデルに関しては、Gemini ProやClaude3よりも高い性能を持っていることが分かります。 Llama 3とLlama 2の比較
Llama 3は、Llama 2と比較して多くの点で改善が見られます。具体的には、モデルのトレーニングに使用されるデータセットが7倍に増加し、コード関連のデータも4倍に増加しています。
これにより、モデルはより複雑な言語タスクを効率的に処理できるようになりました。Llama 3は、特にコード生成と指示に基づくタスクの遂行能力において、前モデルを大きく上回っています。 また、新しいトークナイザーの採用により、言語のエンコード効率が向上しており、これが全体的なパフォーマンスの向上に寄与しています。さらに、安全性を考慮した設計が施されており、不適切な応答を生成するリスクを低減するための新しいフィルタリングシステムが導入されています。
このように、Llama 3 はGemini Pro 1.5にも匹敵する非常に高性能なマルチモーダルの言語モデルであることがわかりました。ただ、「すごいけどなにに使うの・・・?」という疑問を持たれたかもしれません。
Llama 3の最も効果的な活用方法は、オンプレミス環境でRAGを構築することです。会社のセキュリティポリシー上、クラウドサービスのRAGを使用できない場合に、企業内のサーバ上にLlama 3を使用してRAGを構築できます。 実は弊社は「セキュアGAI」というRAG(文書検索)のサービスをSaaSで提供していますが、こちらをオンプレミス環境に構築することに知見と実績がございます。もしオンプレミス環境のRAG構築をご要望でしたら、ぜひお気軽にお問い合わせください! とりあえずGroqでLlama 3を試す
現時点で「Meta AI」は日本では未公開
本来はMetaが公開しているAIアシスタント「Meta AI」でLlama 3を活用した高速な画像生成やチャットなどを体験できるはずなのですが、この記事を書いている2024年5月1日現在、Meta AIは英語圏のみに公開されており、日本では未公開です。
GroqでLlama 3を試す
ところが、上記で紹介したGroqがLlama 3に対応しているため、GroqにログインすればLlama 3を体験できます。しかも超高速で!そして無料で!
使い方は簡単で、Groqにログインし、右上のプルダウンでモデルを選択するだけです。せっかくなので(?)70Bを選択してみましょう。
とりあえず適当に指示をしてみたのが下記です。明示しても英語で出力されるので、右上のギアマークから、System Promptで「日本語で出力して」と予め指示しています。
300トークン/秒程度のスループットがでています。とりあえず出力がめちゃくちゃ速いのは伝わると思います。ただ、短編小説を出力するプロンプトなのですが、同じような文章が繰り返し出力され、精度は良くないと感じました。
また、Groqのインターフェイスでは、日本語の変換を確定するときにエンターキーを押すとチャットの入力が確定されてしまうので、あまり実用的では無いです。 Chatbot UIのブラウザ版で試す
なにかいい方法が無いかと探していたところ、Chatbot UIなるものがあり、それがGroqのAPIに対応しているということで、Chatbot UIでGroqと連携すればLlama 3を使用できることがわかりました。
Chatbot UIはChatGPTライクなインターフェイスで、様々なLLMを切り替えながら使えるというものです。 Chatbot UIはオープンソースとなっており、ローカルPCで動かすことができますが、ブラウザ版も公開されています。ローカル環境構築が面倒だったので、とりあえずブラウザ版を使ってみることにしました。 Chatbot UIで複数のLLMを使用するには、各LLMのAPIと接続する必要があり、そのためにまずはAPI keyを取得します。今回はChatGPT、Claude、Groq(Llama 3)を比較したいので、OpenAI、Anthropic、GroqのAPI Keyを取得します。また、API接続のためにはAPI Keyだけでなく、Model IDとBase URL(任意)も必要です。 OpenAIのAPI Keyを取得
OpenAIの管理画面で、「API keys」メニューから発行できます。
「Create new secret key」というボタンがあるので、それをクリックするとポップアップが開きます。必要事項を入力するとAPI Keyが発行されます。発行したキーは後で確認することができないので、このときに確実に保存しておいてください。 AnthropicのAPI Keyを取得
OpenAIとほぼ同じ方法で取得できます。Anthropicの管理画面の「API Keys」というメニューから発行できます。「Create Key」ボタンをクリックするとポップアップが開くので、キーの名前を適当に入力するとキーが発行されます。
GroqのAPI Keyを取得
GroqのAPI Key取得方法も上記とほぼ同様です。
先ほどログインしたGroqの画面下部に「GroqCloud」というリンクがあります。これをクリックすると管理画面が開きますので、「API Keys」メニューの「Create API Key」からキーを発行できます。 Chatbot UIのブラウザ版にログイン
では準備ができたので、Chatbot UIのブラウザ版にログインしましょう。
Chatbot UIのブラウザ版にアクセスすると上記のような初期画面が表示されますので、「Start Chatting」ボタンを押して次に進みます。
性能比較のためにファイル検索機能を使用したかったので、有料プランにしました。年間契約だと月額$8、毎月更新だと月額$10です。
支払いの設定が終わると上記のようなAPI Keyを登録する画面に遷移します。
ここで先程取得したOpenAI、Anthropic、Groqのキーを入力します。これで初期登録は完了でチャット画面が開きます。
次に使用したいモデルを登録します(さっきのAPI Key登録だけではまだ使用できませんでした)。左のキラキラマーク(?)がモデルメニューで、「New Model」ボタンをクリックして、使用したいモデルを登録します。
今回は下記を入力しました。
なお、Model IDは下記から参照できます。
ここまで設定をして、GPT4とGroqは動作したのですが、Claudeで上記のようなエラーが出ており、Base URLやModel IDを変えてみても解決しなかったため、断念し、結局ローカル版を構築することにしました。。。どなたかブラウザ側でClaude 3 Opusを動作できた方いらっしゃいましたら、ぜひご連絡いただけると嬉しいです。
このような形で、とりあえずLLMの動作を確認するだけであれば様々な方法があり、比較的簡単に利用できます。しかし、業務利用となるとそうはいかず、業務利用を想定したサービスを使用する必要がでてきます。
弊社は「セキュアGAI」というRAG(文書検索)のサービスをSaaSで提供しており、同じような仕組みをお客様向けにオーダーメイドで構築してご提供することも可能です。 生成AIを業務利用でお考えでしたら、ぜひお気軽にご連絡ください! Chatbot UIのローカル版で試すChatbot UIのローカル環境を構築
ローカル版は以下の手順で簡単に構築できました。開発者のMckay WrigleyさんのGithubレポジトリに記載のある通りに実行すれば動作しました。Macのターミナルで下記のコマンドを実行すれば構築できます。
1. リポジトリのクローン まずはGitHubからChatbot UIのリポジトリをクローンします。 $ git clone https://github.com/mckaywrigley/chatbot-ui.git 2. 依存関係のインストール クローンしたディレクトリに移動し、必要な依存関係をインストールします。 $ cd chatbot-ui $ npm install 3. Dockerのインストール Supabaseをローカルで実行するためにはDockerが必要です。Dockerの公式サイトからインストールしてください。 4. Supabase CLIのインストール Supabase CLIをインストールするために以下のコマンドを実行します。 $ brew install supabase/tap/supabase 5. Supabaseの起動 Supabaseを起動するために以下のコマンドを実行します。 $ supabase start 6. 環境変数の設定 .env.local.exampleファイルを.env.localにコピーし、必要な値を設定します。 $ cp .env.local.example .env.local 7. Supabase関連情報確認 表示されるAPI URLなどの必要な値を.env.localファイルに入力します。 $ supabase status
$ vi ./.env.local
8. データベースの設定 Supabaseで初期設定を行うためのSQLファイルを編集します。具体的な値はsupabase statusの結果を参考に設定してください。私の場合は特に変更せずに動作しました。一応、54行目の「service_role_key」が、上記supabase status実行結果のservice_role_keyと同じ値であることを確認しておくと良いでしょう。 9. アプリケーションのローカル実行 以下のコマンドを実行し、アプリケーションをローカルで起動します。 $ npm run chat これで、http://localhost:3000にアクセスすると、Chatbot UIのアプリケーションがブラウザで開きます。 Chatbot UI上でGroq経由のLlama 3を試す
http://localhost:3000 にアクセスすると、ブラウザ版と同様の初期設定画面が表示されるので、全く同じ方法、内容で登録していきます。
ただし、Claude 3 Opusは「404 Not Found」のエラーがでて使用できませんでした。しかし、デフォルトで指定できるClaude 3 SonnetとClaude 3 Haikuは正常動作したので、おそらくChatbot UIがOpusにまだ対応していないのではないかと思います。 ではモデルに「Groq(Llama 3)」を指定し、早速いくつかのプロンプトを入力して、Llama 3の出力を見てみましょう。 まずはちょうど今話題になっている、突如現れた謎の高性能AI「GPT2」にちなんで、答えのない質問をしてみました。
非常に微妙な回答が返ってきました。
次に出力の速さを見てみましょう。
文句なしに速いですね!APIの通信時間含めても、待つというストレスを全く感じません。
Llama 3 vs GTP 4 Turbo vs Claude 3 Sonnet 3番勝負!
では最後に、Llama 3、GTP 4 Turbo、Claude 3 Sonnetに対して3つの同じプロンプトを入力して、出力を比較してみましょう。
キーワードを説明する文章生成 プロンプトはこちら。 【Retrieval-Augmented Generation (RAG)とはなんですか?情報工学専攻の大学4年生に理解できる表現で500文字程度でまとめてください。】
出力されたテキストの精度は、どれも有意な差は見られませんでした。
ただし、出力の速度はやはりGroqが圧倒的に早いです。 論理のクイズを解く 典型的な論理クイズを出してみます。プロンプトはこちら。 【ある男性3人がホテルに泊まることになった。宿泊料は1人10ドル。男性客たちは合計30ドルを受付係にわたした。その後、キャンペーン中なので宿泊料は3人で25ドルだったことに気づいた受付係は、5ドルを返そうとした。しかし「5ドルは3人で割り切れない」と考えた受付係は2ドルを自分のポケットにしまい、残りの3ドルだけ男性客たちに返した。さて、男性客たちは1人9ドルで合計27ドル支払ったことになる。そこに受付係がくすねた2ドルを足して29ドル。残りの1ドルはどこに消えたのでしょうか?回答と解説をまとめてください。】
回答結果は完全にGTP 4 Turboの勝利と判断します。
GTP 4 Turboは論理的に、明確に回答の解説を記載できています。 Claude 3 Sonnetも解説できていますが、やや根拠が不明確と感じました。 Llama 3は肝心な「なぜ」を説明できていないため、不合格と判断しました。 アップロード記事要約 RAPTORというRAGの文書検索精度を向上するモデルに関する論文をアップロードし、その内容を要約させます。プロンプトはこちら。 【アップロードしたPDFファイルの内容を、情報工学専攻の大学4年生にもわかる表現で、できる限り具体的、定量的に1000文字程度の日本語で要約してください。ただし、技術的な内容も、重要な点に絞って端的にまとめ、具体的に何が革新的で、従来の技術と比較して何が優れているか明示してください。】 ファイルアップロードに結構時間がかかったのと、出力結果が長いため、スクリーンショットではなく、出力されたテキストをそのまま以下に貼り付けます。 ーーー <Llama 3> The provided text appears to be a collection of research papers and articles related to natural language processing, specifically focusing on language models, question answering, and text summarization. Here is a summary of the main points: Language Models: The text discusses the development of language models, such as GPT-4, that can generate coherent and context-specific text. These models are trained on large datasets and can be fine-tuned for specific tasks. Question Answering: The text explores various question answering models, including UnifiedQA, that can retrieve relevant information from a large corpus of text. These models are evaluated on datasets such as QuALITY, QASPER, and NarrativeQA. Text Summarization: The text touches on the topic of text summarization, highlighting the importance of summarizing long documents and the challenges associated with it. Models such as Longformer and Hybrid Hierarchical Retrieval are mentioned as approaches to tackle this task. Retrieval-Augmented Generation: The text discusses the concept of retrieval-augmented generation, which involves using a retrieval mechanism to augment language models with relevant information from a knowledge base. Evaluation Metrics: The text mentions various evaluation metrics used to assess the performance of language models and question answering systems, including BLEU score, ROUGE score, and METEOR score. Applications: The text hints at the potential applications of these technologies in areas such as information retrieval, text classification, and chatbots. In summary, the text provides an overview of the current state of natural language processing research, highlighting advancements in language models, question answering, and text summarization. ーーー <GTP 4 Turbo> PDFファイルの内容を要約すると、新しい情報検索システム「RAPTOR」に関する研究が記述されています。このシステムは、従来の検索システムよりも関連性が高く、包括的な情報を提供することが可能です。特に、RAPTORは短い記述だけでなく、物語の主要な部分全体についての詳細な説明を取得することができるため、下流のタスクでのパフォーマンスが向上します。 具体的には、RAPTORと従来のDPR(Dense Passage Retrieval)を比較した場合、RAPTORはより広範囲の文脈を考慮して回答を生成することが可能であるとされています。たとえば、シンデレラの物語において、DPRは物語の初期の部分のみを考慮に入れた回答を生成しますが、RAPTORはより全体的な視点から物語のテーマを捉え、より完全な答えを提供することができます。 この技術の革新性は、特に長い文書や複雑な情報が含まれるテキストにおいて、情報の重要な部分を効率的に抽出し、より正確な情報提供が可能になる点にあります。これにより、ユーザーが求める情報へ迅速かつ正確にアクセスできるようになります。 また、RAPTORの導入により、従来の技術と比較して、情報検索の精度と速度が大幅に向上することが期待されます。これは、特に大量のデータを扱う企業や研究機関にとって、大きな利点となるでしょう。 この研究は、情報検索の分野において重要な進歩を示しており、将来的にはさらに多くの応用が期待されます。情報工学の専攻生として、このような最先端の技術を理解し、その可能性を探ることは、非常に価値のある経験となるでしょう。 ーーー <Claude 3 Sonnet> このPDFの内容を要約すると、次のようになります。 革新的な長文検索・要約技術RAPTORが紹介されています。従来の検索手法に比べ、文書全体からより関連する情報を的確に取得できるため、質問応答タスクの精度が大幅に向上しました。 具体的には、次の3点が革新的でした。 文書の階層構造を考慮した効率的な検索手法を採用し、大量の長文書からも的確に関連情報を抽出できます。 取得した情報を自然に要約し、質問に直接答えられる上位ノードを生成します。 大規模言語モデルGPT-4と組み合わせることで、高い質問応答精度を実現しました。 評価実験では、従来手法に比べNarrativeQAデータセットの質問応答精度が大幅に向上しました。長文書からの情報抽出と質問応答において、RAPTORは革新的な成果を上げています。 ーーー 「日本語で」と指定したにもかかわらず、Llama 3は英語で出力されました。。。しかし、技術的な具体性はLlama 3が一番高いように思います。Llama 3とGPT4-Turboが引き分け、Claude 3 Sonnetが次点といったところでしょうか。 まとめ
色々試していたらだいぶ長い記事になってしまったのですが、、、まとめると下記のようなことを感じました。
生成AIを使用したシステム開発のご要望はこちらから
最後までお読みいただき、ありがとうございます!
弊社では、LLM(大規模言語モデル)やアーキテクチャの選定、技術検証、生成AIを使用したプロトタイピングやシステム開発、お客様社内での啓蒙活動等を対応させていただく「生成AIコンサルティング」サービスを提供しています。 また、業務利用できるChatGPTのような仕組みである「セキュアGAI」も提供しています。 もし本記事で生成AIに興味が湧き、生成AIとのシステム連携などのニーズがございましたら、ぜひ下記フォームからお気軽にお問い合わせください! その他の生成AI関連サービス |
ベトナムオフショア開発/ラボ型開発
生成AIコンサルティングサービス
安全な環境でChatGPT「セキュアGAI for enterprise」
AIが接客「バーチャルアシスタント」
オフショア開発や生成AIに関する資料はこちらから無料でDLいただけます
アーカイブ
10月 2024
カテゴリー
すべて
最新記事の購読 |
リンクプロダクトブログ株式会社スクーティー生成AIに強みを持つベトナムのオフショア開発サービスを提供しています。優秀なベトナム人エンジニアでチームを組み、安価で高速な開発体制を作りましょう。
|
5/2/2024