Meta、「Llama 2」ベースのコーディング用LLM「Code Llama」をリリース 研究および商用向けで無償提供:Python特化モデル、自然言語命令の理解のために微調整したモデルも
Metaは、大規模言語モデル「Llama 2」をベースにしたコーディング用LLMファミリー「Code Llama」を提供開始した。
Metaは2023年8月24日(米国時間)、7月に公開した大規模言語モデル(LLM)「Llama 2」をベースにしたコーディング用LLMファミリー「Code Llama」の提供開始を発表した。コーディングタスクにおいて、公開されているLLMの中で最先端のパフォーマンスを提供するとしている。
Code Llamaは、ベースモデルのCode Llama、Pythonに特化した「Code Llama - Python」、自然言語の命令を理解するようにファインチューニングされた「Code Llama - Instruct」の3種類があり、いずれも70億、130億、340億のパラメーターを持つ3サイズのモデルがある(以下では、それぞれ7Bモデル、13Bモデル、34Bモデルと表記する)。
Llama 2と同じコミュニティーライセンスで研究および商用向けに無償で提供されている。
Code Llamaは、Llama 2をコードに特化したデータセットでトレーニングして構築された。コードと自然言語の両方のプロンプト(例えば、「Write me a function that outputs the fibonacci sequence.:フィボナッチ数列を出力する関数を書いてください」など)から、コードとコードに関する自然言語を生成できる。コード補完やデバッグに使うことも可能だ。Python、C++、Java、PHP、TypeScript(JavaScript)、C#、Bashなど、現在使われている多くの一般的なプログラミング言語をサポートしている。
Code Llamaの各モデルは、いずれも5000億トークンのコードとコード関連データでトレーニングされている。また、ベースモデルとCode Llama - Instructの7Bおよび13Bモデルは、既存のコードにコードを挿入できるFIM(fill-in-the-middle)機能でもトレーニングされている。この機能により、これらのモデルはコード補完のようなタスクにすぐに対応できる。
各サイズのモデルは、それぞれ異なる機能要件やレイテンシ要件に対応している。例えば、7BモデルはシングルGPUで処理できる。34Bモデルは最も優れた結果を返し、優れたコーディング支援が可能だが、より小さな7Bおよび13Bモデルはより高速で、リアルタイムのコード補完のような低レイテンシが要求されるタスクに適している。
また、Code Llama - PythonとCode Llama - Instructについて、Metaは次のように説明を加えている。
Code Llama - Python
1000億トークンのPythonコードでファインチューニングされている。Pythonは、コード生成のベンチマークに最も使用される言語であり、PythonとPyTorchは、AIコミュニティーで重要な役割を果たしている。Metaはこのことを考慮し、このPython特化バージョンのCode Llamaを用意した。
Code Llama - Instruct
Metaは、Code Llamaをコード生成に使用する際は、Code Llama - Instructを使用することを推奨している。Code Llama - Instructは、自然言語で有用かつ安全な回答を生成するようにファインチューニングされているからだ。
コーディングベンチマーク結果
Metaは、「HumanEval」と「Mostly Basic Python Programming」(MBPP)という2つの一般的なコーディングベンチマークを使用して、既存のソリューションに対するCode Llamaのパフォーマンスをテストした。
それによると、Code Llamaは、オープンソースのコーディング用LLMやLlama 2を上回るパフォーマンスを発揮した。「例えば、Code Llama - Pythonの34Bモデルは、HumanEvalで53.7%、MBPPで56.2%と、最先端オープンソリューションの中で最も高く、ChatGPTと同等のスコアを記録した」と、Metaは述べている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「Metaが公開した『LLaMa 2』はオープンソースではない」――OSIが声明
オープンソース推進団体のOpen Source Initiative(OSI)は、「Metaが公開した『LLaMa 2』のライセンスはオープンソースではない」との声明を発表した。 - Meta、商用利用可能なオープンソースLLM「Llama 2」を提供開始 「MPT」や「Falcon」を上回る成績
Metaは、次世代のオープンソース大規模言語モデル「Llama 2」を提供開始した。研究および商用に無料で利用できる。 - Google、OSS向けファジングサービス「OSS-Fuzz」をLLMで改善
Googleは、同社の大規模言語モデルを利用して、オープンソースソフトウェア向けファジングサービス「OSS-Fuzz」の対象プロジェクトのコードカバレッジを高めることに成功した。