オープンソースのLLM(ELYZA-japanese-Llama-2-7b-instruct)

はじめに

 これまで有償の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スペックは以下の通り。

  • GPU:RTX 3090やRTX 4090、A100 など
  • VRAM:24GB以上
  • CPU:8コア以上の近年のIntel/AMD CPU
  • RAM:32GB以上
  • 検証した環境

     AWSのEC2インスタンスg4dn.xlargeを使用した。そのGPUはNVIDIA T4であり、VRAMは16GBである。推奨スペックと比べるとかなり非力なGPUである。

    環境構築

     以下で環境を構築した。

    condaとpipの混用は良くないが、condaの依存解決が終わらないので4行目ではpipを使用した(特に問題はなかった)。

    ソースコード

     今回のソースコードはこちらにある。

    検証結果(文章の要約)

     まず最初に文章の要約を行う。対象とする文章として、ネット内のニュース記事を使用した。比較のため、ChatGPT 4oの結果も示す。また、EC2インスタンスg4dn.xlarge上でELYZA-japanese-Llama-2-7b-instructを実行したときの応答時間も記載した。推奨スペックからかけ離れたPCなので参考程度に見てほしい。

    サンプル1

    ● 入力プロンプト

    記事の引用元:YAHOO!Japanニュース

    ● 出力(ELYZA-japanese-Llama-2-7b-instruct:1m1.6s)

    ● 出力(ChatGPT 4o)

    クマが捕獲されたことに触れているChatGPT 4oの方が良いかもしれない。

    サンプル2

    ● 入力プロンプト

    記事の引用元:Bloomberg

    ● 出力(ELYZA-japanese-Llama-2-7b-instruct:2m35.4s)

    入力プロンプトに「要約文だけを出力しなさい。余計な文章はつけないでください。」と書いたが、要約文に余分な文章「与えられた文章を要約いたします。」がついている。

    ● 出力(ChatGPT 4o)

    電気料金への消費税引き下げや薬代の払い戻し削減などは、緊縮財政政策を巡る譲歩の例なのでいちいち挙げなくても良いかもしれない。ChatGPT 4oの方は挙げていない。

    サンプル3

    ● 入力プロンプト

    記事の引用元:Bloomberg

    ● 出力(ELYZA-japanese-Llama-2-7b-instruct:2m31.9s)

    ● 出力(ChatGPT 4o)

    「米国に対する報復」という文言は要約文に必要だろう。ChatGPT 4oの方は触れている。

    検証結果(誤字の指摘)

     次に誤字の指摘ができるか見てみる。

    ● 入力プロンプト

    記事の引用元:Bloomberg
    引用元の記事を編集した。

    ● 出力(ELYZA-japanese-Llama-2-7b-instruct:18s)

    頓珍漢な回答だ。

    ● 出力(ChatGPT 4o)

    完璧。これはChatGPT 4oの圧勝である。

    検証結果(用語の統一)

     次に用語の統一ができるか見てみる。

    サンプル1

    ● 入力プロンプト

    「稼動」と「稼働」の2つを混在させた。

    ● 出力(ELYZA-japanese-Llama-2-7b-instruct:1m9s)

    ● 出力(ChatGPT 4o)

    ChatGPT 4oの方が期待する回答である。

    サンプル2

    ● 入力プロンプト

    「抜かないでください」「ご確認下さい」「押してください」の3つの「ください」を統一できるか?

    ● 出力(ELYZA-japanese-Llama-2-7b-instruct:50.5s)

    ● 出力(ChatGPT 4o)

    ChatGPT 4oの方が期待する回答である。

    まとめ

     今回は、(株)ELYZAが公開しているLLM「ELYZA-japanese-Llama-2-7b-instruct」の簡単な評価を行った。要約についてはそれなりにできるが、誤字の指摘や用語の統一は苦手なようだ。今回扱ったモデルのパラメータ数は70億である。ChatGPT 4oのパラメータ数に比べるとかなり少ない(GPT3.5が3550億、GPT4以降は未公開)ので、ChatGPT 4oと比べるのは酷であったかもしれない。
     生成AIを導入するときオンラインであることに難色を示す企業も多いように感じる。そのような場合には、今回のようなLLMは候補の1つとなるだろう。

    Kumada Seiya

    Kumada Seiya

    仕事であろうとなかろうと勉強し続ける、その結果”中身”を知ったエンジニアになれる

    最近の記事

    • 関連記事
    • おすすめ記事
    • 特集記事

    アーカイブ

    カテゴリー

    PAGE TOP