はじめに
これまで有償のLLM(大規模言語モデル)であるGPT4oばかりを取り上げてきた。今回は案件がらみで検証した無償版LLMを紹介したい。取り上げるのは、elyza/ELYZA-japanese-Llama-2-7b-instructである。
ELYZA-japanese-Llama-2
2023年7月、Meta(旧Facebook)は次世代大規模言語モデル「Llama 2」を発表し、研究利用および一部条件下での商用利用を可能とする形で公開した。Llama 2はLlama 1系統の改良版であり、より高精度なテキスト生成、応答品質、推論スピード、そして安全性・制御性の強化を特徴とする。このLlama 2の登場は、各国・各言語圏での独自最適化モデルの誕生を促した。ELYZA-japanese-Llama-2は、MetaのLlama 2をベースに、(株)ELYZAが日本語への最適化・改良を加えた大規模言語モデルであり、日本語の理解・生成性能向上、実用タスクへの適用性、および国内外の開発コミュニティへの貢献を目的として登場した。
今回紹介するモデルは、ELYZA社が公開した複数あるモデルの中の「ELYZA-japanese-Llama-2-7b-instruct」である。「instruct」の名称が示すように、ユーザからの指示(プロンプト)に対し自然で的確な応答を生成する「インストラクションチューニング(Instruction Tuning)」が施されたバージョンである(ストレージ使用量13GB)。推奨されるPCスペックは以下の通り。
検証した環境
AWSのEC2インスタンスg4dn.xlargeを使用した。そのGPUはNVIDIA T4であり、VRAMは16GBである。推奨スペックと比べるとかなり非力なGPUである。
環境構築
以下で環境を構築した。
1 2 3 4 |
$> conda create -n elyza_llama python=3.11 $> conda activate elyza_llama $> conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia $> pip install transformers accelerate |
condaとpipの混用は良くないが、condaの依存解決が終わらないので4行目ではpipを使用した(特に問題はなかった)。
ソースコード
今回のソースコードはこちらにある。
検証結果(文章の要約)
まず最初に文章の要約を行う。対象とする文章として、ネット内のニュース記事を使用した。比較のため、ChatGPT 4oの結果も示す。また、EC2インスタンスg4dn.xlarge上でELYZA-japanese-Llama-2-7b-instructを実行したときの応答時間も記載した。推奨スペックからかけ離れたPCなので参考程度に見てほしい。
サンプル1
● 入力プロンプト
1 2 3 4 5 6 7 8 9 |
以下の文を要約しなさい。 要約文だけを出力しなさい。余計な文章はつけないでください。 「クマが侵入し従業員が襲われた秋田市土崎港のスーパーで、クマを運び出した後に売り場を確認したところ 精肉や総菜コーナーが荒らされていましたがパックに詰められた肉は食べられていないことが新たに分かりました。 秋田市の農地森林整備課などによりますと、クマが侵入した秋田市土崎港のスーパーで2日ドローンを使って店内を調査しました。 売り場の入口近くにあった花びんが割れていたほか売り場の精肉や総菜コーナーの商品が荒らされていたということです。 一方で、パックに詰められた精肉を食べた形跡は確認されなかったということです。 店に侵入したメスのクマは2日に市などが箱わなで捕獲しています。 秋田市は店が設置した防犯カメラなどから、クマの侵入経路などの確認を続けています。」 |
記事の引用元:YAHOO!Japanニュース
● 出力(ELYZA-japanese-Llama-2-7b-instruct:1m1.6s)
1 |
クマが侵入し従業員が襲われた秋田市のスーパーで、精肉や総菜コーナーが荒らされたが、パックに詰められた肉は食べられていないことが分かりました。 |
● 出力(ChatGPT 4o)
1 |
秋田市土崎港のスーパーでクマが侵入し売り場が荒らされたが、パック詰めの精肉は食べられていないことが確認され、クマは箱わなで捕獲された。 |
クマが捕獲されたことに触れているChatGPT 4oの方が良いかもしれない。
サンプル2
● 入力プロンプト
1 2 3 4 5 6 7 8 9 10 11 |
以下の文を要約しなさい。 要約文だけを出力しなさい。余計な文章はつけないでください。 「ミシェル・バルニエ氏(73)がフランス首相に任命された9月、英国の欧州連合(EU)離脱を巡る交渉をまとめ上げたこの穏健派政治家が、 クリスマスまでに去るなどと予想する者はほとんどいなかった。 だが、今やその可能性は高い。極右・国民連合(RN)を事実上率いるルペン氏は、有権者の間でますます不評となっている緊縮財政予算案を巡り、 政権打倒を誓っているが、それは単なる威嚇以上のものになってきた。バルニエ氏が電気料金への消費税引き上げや薬代の払い戻し削減などで、 数十億ユーロに相当する譲歩をRNに提案した。 それにもかかわらず、ルペン氏は折り合いを付けようとするのではなく要求の全面的な受け入れを迫る強硬な態度に転じた。 ルペン氏は今、反緊縮の「譲れない一線(レッドライン)」を巡り、内閣不信任案を支持すると言っている。次に誰が首相に就こうとも、 このレッドラインが、その機能をまひさせる可能性が高い。シティグループのエコノミストは先週、 「少なくとも来年の秋までは、いかなる政策の余地もフランス政府にはないだろう」との見方を示した。」 |
記事の引用元:Bloomberg
● 出力(ELYZA-japanese-Llama-2-7b-instruct:2m35.4s)
1 2 3 4 5 |
与えられた文章を要約いたします。 フランスの首相に任命された穏健派の政治家ミシェル・バルニエ氏が、クリスマスまでに辞任する可能性が高まった。 バルニエ氏は、極右政党の国民連合 (RN) を事実上率いるマリーヌ・ルペン氏に対し、電気料金への消費税引き上げや薬代の払い戻し削減などで、 数十億ユーロに相当する譲歩を提案した。しかし、ルペン氏は譲歩の全面的な受け入れを拒み、「譲れない一線 (レッドライン) 」を巡って、 内閣不信任案の支持を表明した。 |
入力プロンプトに「要約文だけを出力しなさい。余計な文章はつけないでください。」と書いたが、要約文に余分な文章「与えられた文章を要約いたします。」がついている。
● 出力(ChatGPT 4o)
1 2 |
フランス首相バルニエ氏が緊縮財政政策を巡る譲歩を極右・国民連合のルペン氏に提案したものの、 ルペン氏が強硬姿勢を崩さず内閣不信任案を支持する構えを見せており、政権の機能停止や首相交代の可能性が高まっている。 |
電気料金への消費税引き下げや薬代の払い戻し削減などは、緊縮財政政策を巡る譲歩の例なのでいちいち挙げなくても良いかもしれない。ChatGPT 4oの方は挙げていない。
サンプル3
● 入力プロンプト
1 2 3 4 5 6 7 8 9 10 11 12 13 |
以下の文を要約しなさい。 要約文だけを出力しなさい。余計な文章はつけないでください。 「中国は3日、半導体製造に不可欠な複数の材料の米国への輸出を、軍事利用への懸念を理由として全面的に禁止すると発表した。 米バイデン政権が人工知能(AI)向けや製造装置など半導体関連製品の中国向け販売への規制を強化したことに対する報復措置。 中国商務省は、ガリウム、ゲルマニウム、アンチモン、超硬材質は、今後は原則として米国への輸出が認められなくなると発表した。 また、中国政府はグラファイト関連のデュアルユース(軍民両用)製品についても、より厳格な最終用途審査を実施すると付け加えた。 同省報道官は別の声明で、「米国は国家安全保障の概念を一般化し、経済、貿易、技術問題を政治化し、武器化している」とし、 「米国は輸出管理措置を悪用し、特定の製品の対中輸出を不当に制限している」と主張した。 中国の措置は、バイデン政権が2日にAI向け高帯域幅メモリー(HBM)や半導体製造装置の中国向け販売に新たな制限を加えたことを受けたものとみられる。 米国は、中国政府の技術的な野望を封じ込めようと、取り組みを急速に強化している。 中国政府は2023年、米中間の緊張が高まる中、ガリウムとゲルマニウムを輸出規制の対象とし、より厳格な政府管理下に置いた。 この時点では、ガリウムの輸出は全面禁止ではなく、ライセンスの取得が必要だった。 ガリウム半導体は、防衛・航空宇宙機器に広く使用されている。」 |
記事の引用元:Bloomberg
● 出力(ELYZA-japanese-Llama-2-7b-instruct:2m31.9s)
1 |
中国は3日、半導体製造に不可欠な材料の米国への輸出を全面的に禁止すると発表した。 |
● 出力(ChatGPT 4o)
1 2 |
中国は、米国の半導体関連製品に対する対中規制強化への報復として、ガリウムやゲルマニウムなどの半導体材料の対米輸出を全面禁止し、 グラファイト製品への審査を厳格化すると発表した。 |
「米国に対する報復」という文言は要約文に必要だろう。ChatGPT 4oの方は触れている。
検証結果(誤字の指摘)
次に誤字の指摘ができるか見てみる。
● 入力プロンプト
1 2 3 4 |
以下の文内に誤字があれば指摘しなさい。 「中国は3日、半動体製造に不加欠な複数の材量の米国への輸出を、軍事利用への懸念を理由として全面的に禁止すると発表した。 米バイデン政権が人口知能(AI)向けや製造装置など半導体関連製品の中国向け販売への規性を強化したことに対する報復措置。 ガリウム半動体は、防衛・航空宇宙機器に広く使用されている。」 |
記事の引用元:Bloomberg
引用元の記事を編集した。
● 出力(ELYZA-japanese-Llama-2-7b-instruct:18s)
1 2 |
承知しました。文章に誤字はありません。 「懸念」は「懸案」と書き、「規性」は「規則性」と書くべきです。 |
頓珍漢な回答だ。
● 出力(ChatGPT 4o)
1 2 3 4 5 6 7 8 9 |
以下の箇所に誤字があります: 「半動体」→「半導体」 「不加欠」→「不可欠」 「材量」→「材料」 「人口知能」→「人工知能」 「規性」→「規制」 修正後: 「中国は3日、半導体製造に不可欠な複数の材料の米国への輸出を、軍事利用への懸念を理由として全面的に禁止すると発表した。 米バイデン政権が人工知能(AI)向けや製造装置など半導体関連製品の中国向け販売への規制を強化したことに対する報復措置。 ガリウム半導体は、防衛・航空宇宙機器に広く使用されている。」 |
完璧。これはChatGPT 4oの圧勝である。
検証結果(用語の統一)
次に用語の統一ができるか見てみる。
サンプル1
● 入力プロンプト
1 2 |
以下の文内に統一した方が良い漢字表記があれば、その単語を指摘しなさい。 「稼動中のコンセントを抜かないでください。電源を切った直後に電源ボタンを押しても、稼働しないことがあります。」 |
「稼動」と「稼働」の2つを混在させた。
● 出力(ELYZA-japanese-Llama-2-7b-instruct:1m9s)
1 2 3 4 5 6 7 8 9 10 11 12 |
承知しました。統一した方が良い漢字表記は以下の通りです。 - コンセント: 電源 - 稼動: 動作 - 抜かない: 取らない - 抜く: 取る - 直後: 後 - 稼働: 動作 - 押して: 押す - 稼働しない: 動作しない 以上より、「稼動中のコンセントを抜かないでください。電源を切った直後に電源ボタンを押しても、稼働しないことがあります。」 の正しい漢字表記は以下の通りです。 「稼動中の電源を抜かないでください。電源を切った直後に電源ボタンを押しても、稼働しないことがあります。」 |
● 出力(ChatGPT 4o)
1 2 3 |
以下の単語で漢字表記の統一が必要です: 稼動 → 稼働 「稼動」と「稼働」が混在していますが、一般的には「稼働」の方が広く使用されます。統一する場合は「稼働」を用いるのが適切です。 |
ChatGPT 4oの方が期待する回答である。
サンプル2
● 入力プロンプト
1 2 |
以下の文内に統一した方が良い表記があれば、その表記を指摘しなさい。 「稼動中のコンセントを抜かないでください。下記URLからご確認下さい。再度電源スイッチを押してください。」 |
「抜かないでください」「ご確認下さい」「押してください」の3つの「ください」を統一できるか?
● 出力(ELYZA-japanese-Llama-2-7b-instruct:50.5s)
1 2 3 4 |
承知しました。統一した表記があれば、その表記を指摘します。 統一した表記としては 「稼働中のコンセントを抜かないでください。下記URLからご確認下さい。再度電源スイッチを押してください。」となります。 なお、「稼動中」と「稼働中」では意味が異なります。 「稼動中」は動作をしている状態を表しますが、「稼働中」は動作をしている状態を表すとともに、その状態が正常かどうかを表すこともできます。 |
● 出力(ChatGPT 4o)
1 2 3 4 5 6 7 8 9 10 11 |
この文内では、以下のように統一すべき表記が見受けられます。 「ください」の表記の統一 「抜かないでください」「ご確認下さい」「押してください」の3箇所で、「ください」が使用されていますが、2番目の「ご確認下さい」だけが 漢字表記になっています。 統一案: 「ください」をひらがなで統一することで、一貫性が保たれます。例: 「ご確認ください」 「電源スイッチ」と「コンセント」の表記の確認 専門用語が混在しています。「コンセント」や「電源スイッチ」のような一般的な言葉は特に統一する必要はありませんが、 文脈によっては「電源ケーブル」や「電源コード」などを含めて説明が必要な場合もあります。 修正後の例文: 稼動中のコンセントを抜かないでください。下記URLからご確認ください。再度電源スイッチを押してください。 このようにすることで、より統一感のある文になります。 |
ChatGPT 4oの方が期待する回答である。
まとめ
今回は、(株)ELYZAが公開しているLLM「ELYZA-japanese-Llama-2-7b-instruct」の簡単な評価を行った。要約についてはそれなりにできるが、誤字の指摘や用語の統一は苦手なようだ。今回扱ったモデルのパラメータ数は70億である。ChatGPT 4oのパラメータ数に比べるとかなり少ない(GPT3.5が3550億、GPT4以降は未公開)ので、ChatGPT 4oと比べるのは酷であったかもしれない。
生成AIを導入するときオンラインであることに難色を示す企業も多いように感じる。そのような場合には、今回のようなLLMは候補の1つとなるだろう。