見出し画像

コード生成・補完に特化した日本語LLM「ELYZA-japanese-CodeLlama-7b」を公開しました(商用利用可)


はじめに

こんにちは、ELYZAの堀江、 中村、 佐々木、 平川です。今回、Meta社が開発し公開しているCode Llamaに対し日本語の追加事前学習を行った以下のモデルを公開することとなりました。

今回公開する `ELYZA-japanese-CodeLlama-7b` は、我々が用いた日本語の追加事前学習の一連のメソッドが、Llama2以外のものでも汎用的に適用可能であるかを実験したものの一部で、元々のモデルが持つ能力を保持したまま日本語の能力を獲得できることを示す一例になると考えています。

下記の技術ブログ記事において、各モデルの解説、および元々のモデルが持つ能力を保持出来ているか、instructionにおいて新たに日本語の能力を獲得することができたのかを詳しく述べています。ぜひ、ご一読ください。

【技術ブログ】「Code Llama」をベースとした商用利用可能な日本語LLM「ELYZA-japanese-CodeLlama-7b」を公開しました 
(Zenn記事に遷移します)

HumanEvalによるコード生成能力評価結果、ELYZA Tasks 100 による日本語生成能力評価結果、および定性評価結果の考察も記述しています。

ELYZA-japanese-CodeLlama-7b-instruct の入出力サンプル

公開したモデルについて

そもそも「Code Llama」とは? 

Code LlamaはLlama 2をベースとし、コード生成およびコード補完に関する能力を持つように追加で訓練されたモデルです。 Code Llamaをベースとしてfine tuningしたモデルが、様々なコード生成タスクでGPT-3.5-turboやGPT-4に匹敵する性能を発揮することが報告されており、注目を集めています。

ELYZA-japanese-CodeLlama-7b

codellama/CodeLlama-7b-Instruct-hf に日本語の追加事前学習を行ったもの。ELYZA-japanese-Llama2-7b同様に、OSCARやWikipedia、その他クロールデータといった日本語のテキストデータ18Bトークンを学習に使用しています。

ELYZA-japanese-CodeLlama-7b-instruct

`ELYZA-japanese-CodeLlama-7b` に対し、ELYZA独自の事後学習を行ったもの。

出力サンプルと可能性

例えば、ELYZA-japanese-CodeLlama-7b-instruct に以下のような入力を与えてみます。

エラトステネスの篩についてサンプルコードを示し、解説してください。

「素数の倍数の倍数になる」といった表現に問題があるものの、アルゴリズムがどのように動作するのかを解説してもらうことが出来ました。
このように、アルゴリズムの挙動を理解し日本語で解説することができるようになっており、人間がコードを理解するための支援ツールとしての活用も考えられそうです。

デモンストレーション

以下のリンクからデモを利用いただけます。ぜひ触ってみてください(アクセス過多によりリクエストが処理されるまで待ち時間が発生することがあります)。
ELYZA-japanese-CodeLlama-7b-instruct デモ
※デモの公開は 2024年4月4日(木) を持って終了させていただきました。モデル自体は引き続きHuggingface Hubにて公開しております。

尚、本モデルのライセンスは ELYZA-japanese-Llama-2-7b 同様に、Llama 2 Community License に準拠しており、Acceptable Use Policy に従う限りにおいては、研究および商業目的での利用が可能です。

追加事前学習に用いたデータや手法はそれぞれ以前の記事でご紹介した ELYZA-japanese-Llama-2-7bELYZA-japanese-Llama-2-7b-instructと基本的には同様のものとなっています。詳細については ELYZAが公開した日本語LLM「ELYZA-japanese-Llama-2-7b」についての解説 : (1) 事前学習編 を参照してください。

ELYZAについて

株式会社ELYZA(イライザ)は、「未踏の領域で、あたりまえを創る」という理念のもと、日本語の大規模言語モデルに焦点を当てた研究開発、企業との共同研究や自社クラウド製品の開発を行なっております。

今後も日本語を読み書きする性能が高く、かつ多様な指示に従うことの可能なモデルの開発を進めていく予定です。

ここまでお読みいただき、ありがとうございました。
ELYZAではAIエンジニア、AIコンサルタントなど、様々な職種で一緒に事業を前に進めてくれる仲間を募集しています。少しでも興味を持っていただけた方は、ぜひカジュアル面談にお越しください。
日本語Llama2をはじめとするLLM開発について話しませんか?
https://chillout.elyza.ai/elyza-japanese-llama2-7b

この記事が気に入ったらサポートをしてみませんか?