先日発表されたLlama3.1-405Bは非常に巨大なモデルで、仮にFP8(8ビット浮動小数点数)モデルであったとしてもFP8に対応していないAmpare世代のA100 80GBx8しか持ってない当社の社長、継之助(AIスーパーコンピュータ)では動かせそうもないと諦めていました。
ところが、捨てる神あれば拾う神あり。
vllmではA100でFP8をエミュレートする機能が備わっているので、A100x8でもLlama-3.1-405Bが動作するとのこと!!マジかよ!
と言うわけで早速やってみました。
CUDAは12.1、vllmは0.5.3post1で動作確認しています。
$ nvidia-smi [242/242]
Thu Jul 25 01:50:51 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.42.02 Driver Version: 555.42.02 CUDA Version: 12.5 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA A100 80GB PCIe Off | 00000000:17:00.0 Off | 0 |
| N/A 47C P0 76W / 300W | 73783MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 1 NVIDIA A100 80GB PCIe Off | 00000000:2A:00.0 Off | 0 |
| N/A 49C P0 79W / 300W | 73783MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 2 NVIDIA A100 80GB PCIe Off | 00000000:3D:00.0 Off | 0 |
| N/A 47C P0 75W / 300W | 73771MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 3 NVIDIA A100 80GB PCIe Off | 00000000:63:00.0 Off | 0 |
| N/A 45C P0 77W / 300W | 73771MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 4 NVIDIA A100 80GB PCIe Off | 00000000:AB:00.0 Off | 0 |
| N/A 49C P0 77W / 300W | 73771MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 5 NVIDIA A100 80GB PCIe Off | 00000000:BD:00.0 Off | 0 |
| N/A 49C P0 80W / 300W | 73771MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 6 NVIDIA A100 80GB PCIe Off | 00000000:CF:00.0 Off | 0 |
| N/A 51C P0 78W / 300W | 73771MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
| 7 NVIDIA A100 80GB PCIe Off | 00000000:E1:00.0 Off | 0 |
| N/A 54C P0 87W / 300W | 73771MiB / 81920MiB | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 1591181 C ...a3-2023.09-0/envs/vllm12/bin/python 73758MiB |
| 1 N/A N/A 1591237 C ...a3-2023.09-0/envs/vllm12/bin/python 73758MiB |
| 2 N/A N/A 1591238 C ...a3-2023.09-0/envs/vllm12/bin/python 73746MiB |
| 3 N/A N/A 1591239 C ...a3-2023.09-0/envs/vllm12/bin/python 73746MiB |
| 4 N/A N/A 1591240 C ...a3-2023.09-0/envs/vllm12/bin/python 73746MiB |
| 5 N/A N/A 1591241 C ...a3-2023.09-0/envs/vllm12/bin/python 73746MiB |
| 6 N/A N/A 1591242 C ...a3-2023.09-0/envs/vllm12/bin/python 73746MiB |
| 7 N/A N/A 1591243 C ...a3-2023.09-0/envs/vllm12/bin/python 73746MiB |
+-----------------------------------------------------------------------------------------+
こんな感じで元気いっぱいに動いています。
まずはvllmのデフォルトのテストをやってみます。
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Meta-Llama-3.1-405B-Instruct-FP8",
"prompt": "San Francisco is a",
"max_tokens": 7,
"temperature": 0
}'
{"id":"cmpl-17c65bc6ff934211bd26848815ab3cf8","object":"text_completion","created":1721873098,"model":"meta-llama/Meta-Llama-3.1-405B-Instruct-FP8","choices":[{"index":0,"text":
" top destination for foodies, with","logprobs":null,"finish_reason":"length","stop_reason":null}],"usage":{"prompt_tokens":5,"total_tokens":12,"completion_tokens":7}}(base) shi
ちゃんと受け答えできているようです。
日本語でも聞いてみます。
curl http:curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Meta-Llama-3.1-405B-Instruct-FP8",
"prompt": "サンフランシスコは",
"max_tokens": 256,
"temperature": 0
}'
{"id":"cmpl-8d808169511d40118f2a9a50d66598b1","object":"text_completion","created":1721873126,"model":"meta-llama/Meta-Llama-3.1-405B-Instruct-FP8","choices":[{"index":0,"text":
"、カリフォルニア州の北部に位置する都市です。サンフランシスコは、ゴールデンゲートブリッジ、アルカトラズ島、そしてその美しいビクトリア朝の家々で有名です。サンフランシスコはまた、
多様な文化と活気ある芸術シーンでも知られています。サンフランシスコは、世界中の観光客にとって人気の目的地です。サンフランシスコはまた、多くのテクノロジー企業の本拠地であり、シリ
コンバレーの一部です。サンフランシスコは、美しい景色、豊かな歴史、そして多様な文化で知られています。サンフランシスコは、世界中の観光客にとって人気の目的地です。サンフランシスコ
はまた、多くのテクノロジー企業の本拠地であり、シリコンバレーの一部です。サンフランシスコは、美しい景色、豊かな歴史、そして多様な文化で知られています。サンフランシスコは、世界中
の観光客","logprobs":null,"finish_reason":"length","stop_reason":null}],"usage":{"prompt_tokens":7,"total_tokens":263,"completion_tokens":256}}
これはすごい。
ではこの界隈で有名な「ドラえもんテスト」をやってみます。
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Meta-Llama-3.1-405B-Instruct-FP8",
"prompt": "ドラえもんとはなんですか?",
"max_tokens": 256,
"temperature": 0
}'
{"id":"cmpl-9cd7a733efe9423da3eee1a480705020","object":"text_completion","created":1721873221,"model":"meta-llama/Meta-Llama-3.1-405B-Instruct-FP8","choices":[{"index":0,"text":
" (What is Doraemon?)\nDoraemon is a popular Japanese manga and anime series created by Fujiko F. Fujio. The series follows the adventures of a robotic cat named Doraemon, who t
ravels back in time from the 22nd century to help his friend Nobita Nobi, a young boy who is struggling in school and in life. Doraemon has a wide range of futuristic gadgets an
d tools that he uses to help Nobita and his friends, often getting them out of trouble and teaching them valuable lessons. The series is known for its blend of humor, adventure,
and heartwarming moments, and has become a beloved franchise in Japan and around the world.","logprobs":null,"finish_reason":"stop","stop_reason":null}],"usage":{"prompt_tokens
":9,"total_tokens":149,"completion_tokens":140}}
返答が英語になってしまうものの、ちゃんと答えられています。
これはインストラクションモデルなので、「日本語で答えろ」と指示を出してみましょう。
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Meta-Llama-3.1-405B-Instruct-FP8",
"prompt": "ドラえもんとはなんですか?日本語で答えろ",
"max_tokens": 256,
"temperature": 0
}'
{"id":"cmpl-c91ef8888ded4e31aa265773a7426b07","object":"text_completion","created":1721873276,"model":"meta-llama/Meta-Llama-3.1-405B-Instruct-FP8","choices":[{"index":0,"text":
"\n『ドラえもん』は、藤子・F・不二雄による日本の漫画作品、およびそれを原作とする一連のメディアミックス作品。1969年12月に小学館の学習雑誌で連載が開始され、1970年1月に6つの雑誌に
同時掲載された。1987年までに単行本は100冊以上発行され、1996年までに1000万部以上が販売された。2015年までに、世界中で1億部以上が販売され、最も売れた漫画の1つとなった。2013年には、
世界中で10億部以上が販売され、最も売れた漫画の1つとなった。2013年には、世界中で10億部以上が販売され、最も売れた漫画の1つとなった。2013年には、世界中で10億部以上が販売され、最も
売れた漫画の1つとなった。2013年には、世界中で10億部以上が販売され、最も売れた漫画の1つとなった。2013年には、世界中で10億部以上が販売され、最も売れた","logprobs":null,"finish_rea
son":"length","stop_reason":null}],"usage":{"prompt_tokens":15,"total_tokens":271,"completion_tokens":256}}
きちんと答えられているようです。
筆者のハンドルネームshi3zについて聞く「shi3zテスト」をやってみます。
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Meta-Llama-3.1-405B-Instruct-FP8",
"prompt": "shi3zとはなんですか?日本語で答えろ",
"max_tokens": 256,
"temperature": 0
}'
{"id":"cmpl-9448b112360f47f6a5a00f35d546202d","object":"text_completion","created":1721873377,"model":"meta-llama/Meta-Llama-3.1-405B-Instruct-FP8","choices":[{"index":0,"text":
"よ\nshi3zは、主に日本のインターネットコミュニティで使用されるインターネットスラングです。shi3zは、英語の「she is」というフレーズの変形です。主に、女性について話すときに使用され
ます。例えば、「彼女は美しい」という意味で「shi3z utsukushii」というように使います。ただし、このスラングは、特定のコミュニティや状況でしか通じない可能性があります。shi3zは、主に
インターネット上の会話やSNSでのやり取りで使用され、日常会話ではあまり使用されません。shi3zは、主に若者やインターネットユーザーが使用するスラングです。shi3zは、英語の「she is」と
いうフレーズの変形です。主に、女性について話すときに使用されます。例えば、「彼女は美しい」という意味で「shi3z utsukushii」というように使います。ただし、このスラングは、特定のコ
ミュニティや状況でしか通じない可能性があり","logprobs":null,"finish_reason":"length","stop_reason":null}],"usage":{"prompt_tokens":14,"total_tokens":270,"completion_tokens":256}
}
ちょっと面白い答えになりました。
AI界隈で有名なa16zと言うアカウントについて聞いてみます。
curl http://localhost:8000/v1/completions \t:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Meta-Llama-3.1-405B-Instruct-FP8",
"prompt": "a16zとはなんですか?日本語で答えろ",
"max_tokens": 256,
"temperature": 0
}'
{"id":"cmpl-d0ddf5e88bd146ac9ba5b064c6cd2f73","object":"text_completion","created":1721873440,"model":"meta-llama/Meta-Llama-3.1-405B-Instruct-FP8","choices":[{"index":0,"text":
"\na16z(アンドリーセン・ホロウィッツ)は、カリフォルニア州メンローパークに拠点を置くベンチャーキャピタル会社です。2009年にマーク・アンドリーセンとベン・ホロウィッツによって設立
されました。a16zは、テクノロジー、ヘルスケア、金融、消費者製品など、幅広い分野のスタートアップ企業に投資しています。同社は、Airbnb、Facebook、Instagram、Lyft、Pinterest、Slack、
Twitterなど、多くの有名なテクノロジー企業に投資しています。a16zは、スタートアップ企業に資金提供するだけでなく、経営陣へのアドバイス、業界ネットワークへのアクセス、ビジネス拡大の
サポートなど、幅広い支援も提供しています。同社は、テクノロジー業界における有力な投資家として知られています。a16zの名前は、設立者の名前の頭文字(アンドリーセンとホロウィッツ","lo
gprobs":null,"finish_reason":"length","stop_reason":null}],"usage":{"prompt_tokens":14,"total_tokens":270,"completion_tokens":256}}
さすが有名投資家は日本語でも間違えられません。
と言うわけで、405Bモデルがうちの社長でも動きました。
オープンモデルでここまでできてしまうのは、まさに夢が広がりますね。