JSP_Blog

ジェイエスピー社員が綴る日替わりブログ

LLMを動かしてみる

2024-08-05 09:00:00 | 日記
どうも、熱しにくく冷めやすいTです。
最近は「LLM(大規模言語モデル)」に興味を持っています。普段の業務においてもChatGPTにプログラムの書き方やライブラリの使い方、サンプルコードなどを聞くことが多く、足を向けて寝られない気持ちです。ただ、どうしても機密情報のことがあるのでお仕事を丸っとAIに投げることはできずにいます。
そんな状況を何か変えられないかなと思いまして、ちょこちょこと「オープンモデル」なるものを触ってみています。今回はそんなオープンモデルを触ってみた感触とかを簡単にブログに書こうかな、と思います。

今回試すモデルは以下の6つです。
・cyberagent/calm2-7b-chat
・elyza/Llama-3-ELYZA-JP-8B
・moneyforward/houou-instruction-7b-v3
・Rakuten/RakutenAI-7B-chat
・tokyotech-llm/Swallow-7b-hf
・HODACHI/Llama-3.1-70B-EZO-1.1-it
※HuggingFaceというサイトで検索することで誰でもモデルをダウンロードできます。

いずれも日本語特化モデルとしてリリースされているものです。これ以外にもあると思いますが、たまたま目についたこれらを試します。
ELYZAとEZOは8月、それ以外は5月にダウンロードしたものです。3か月も経つと新しいバージョンもリリースされていそうですが、各モデルはファイルサイズが12~14GBほどありまして、我が家の貧弱ネット回線ではダウンロードに時間がかかりすぎるので更新はあきらめました。
なお、PCのローカル環境で動作させたいので、モデルサイズはいずれも「7B」前後と小さめにしています。

では早速、それぞれのモデルにこんな質問を投げてみたいと思います。
「日本で一番高い山と二番目に高い山は何ですか?また、それらの標高差は何mですか?」
簡単な知識の問題と、簡単な計算問題を組み合わせた質問です。
先に正解を書いておくと、一番高い山は「富士山(標高3,776m)」、二番目に高い山は「北岳(標高3,193m)」で、標高差は「583m」です。

回答はこんな感じで出揃いました。

----
■cyberagent/calm2-7b-chat
日本の山は、まず富士山が3776mで最も高く、次に北岳が3193mで最も高いです。これらの標高の差は583mです。

■elyza/Llama-3-ELYZA-JP-8B
日本で一番高い山は、北海道の旭岳(あさひ岳)で、標高は2,291mです。
二番目に高い山は、長野県と岐阜県の境にある乗鞍岳で、標高は3,026mです。
したがって、標高差は2,735mです。
(参考資料:日本百名山、国土地理院のデータ等)

■moneyforward/houou-instruction-7b-v3
※質問と無関係な回答だったため省略

■Rakuten/RakutenAI-7B-chat
日本で一番高い山は、白頭山(3,193m)です。二番目に高い山は高尾山(929m)です。それらの標高差は、2,264mです。

■tokyotech-llm/Swallow-7b-hf
日本で一番高い山は富士山で、標高は3776mです。2番目に高い山は北岳で、標高は3193mです。標高差は約580mです。

■HODACHI/Llama-3.1-70B-EZO-1.1-it
重要な質問ですね。日本で一番高い山は、富士山(標高:3776m)です。二番目に高い山は、北岳(標高:2892m)です。
両者の標高差は、約884mとなります。
(注:データは2022年時点のものです。)
----

なかなか興味深い結果になったと思います。
完璧な回答ができたのはCALM2とSwallowだけでした。
EZOは北岳の標高を間違えていますが計算は合っていますね。
ELYZAとRakutenAIはハルシネーションなのかわかりませんが、間違った情報を出力してしまっています。
Hououはおそらく使い方が間違っていますね。

各モデル名に「chat」や「instruct」などがついているものもありました。これは「チャット用に調整したAI」だとか、「指示に回答するように調整したAI」といった感じで、そのモデルの使い方や目的を意味しています。今回はこのように若干異なるモデル同士を比較した結果となっていますので、必ずしも「回答が間違っていたから精度の低いモデル」というわけではないようです。
また、プロンプトに「あなたは優秀な日本人アシスタントです」といった枕詞をつけたり、「回答は慎重にお願いします」のようにしっかりと考えることを促したりすることで精度が上がることもあるようです。
こうしたプロンプトによる調整内容もモデルによって異なってくるようなので、この辺りは要研究なのだと思います。

今回はすごくシンプルな知識と計算の問題を聞いてみましたが、実業務ではもっといろいろなタスクがありそうです。要約やプログラミング補助、文章構成など…。
触っているのが7Bと小さいモデルであることもあり、色々なタスクを任せるには心もとない印象を受けました。また、私が触った限りでは、GPUを搭載したゲーミングPCのような環境でないと快適動作は厳しそうでした。CPUだけで動くものも出てきているようですが、業務でローカルLLMとして使うことを考えるなら、一般的なノートPCのCPUで動くくらい軽量化が進まないと厳しそうです。
まだしばらくは機密情報に注意しつつ使える範囲に絞ってChatGPT等を活用する方が良さそうですね。

なお、今回使った動作環境は「text-generation-webui」です。
これはPythonやドライバなどの面倒なセットアップを自動でやってくれる、初心者向けの環境です。中に入っている「start_windows.bat」を実行するだけで必要な環境を自動セットアップし、ブラウザからLLMを触れるようにしてくれます。
皆さまも興味があれば動かしてみてください!

(T)

moni-meter
  脱・手書き!点検データをデジタル化、誤検針を削減
  AI自動読み取りで検針が楽になる設備点検支援システム

PLMソリューション
  製品ライフサイクルの各データを活用しビジネスを改革
  PLMシステム導入支援、最適なカスタマイズを提案します

EV用充電制御ソリューション
  EV充電インフラ整備を促進するソリューションを提供
  OCPP・ECHONET Liteなど設備の通信規格に柔軟に対応

株式会社ジェイエスピー
  横浜に拠点を置くソフトウェア・システム開発、
  製品開発(moniシリーズ)、それに農業も手がけるIT企業
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする