FacebookやInstagramなどを運営するMetaが2023年8月にリリースした「Code Llama」は、テキスト入力を元にプログラムのコードを生成してくれるコーディング支援AIです。そんなCode Llamaを微調整した「CodeLlama-34B」と「CodeLlama-34B-Python」をOpenAIのテストデータセット「HumanEval」でテストした結果、OpenAIの大規模言語モデル「GPT-4」の結果を上回ったことが報告されています。

Phind: AI Search Engine and Pair Programmer

https://www.phind.com/blog/code-llama-beats-gpt4



Code LlamaはMetaが2023年7月にリリースした「Llama 2」をコード固有のデータセットでさらにトレーニングしたものです。コードの続きを生成する機能のほか、自然言語での入力を元にしたコード生成や、コードについての解説の生成などが可能です。

Metaが商用利用可能なコーディング支援AI「Code Llama」をリリース、Llama 2と同じライセンスで無料公開へ - GIGAZINE



そんなCode Llamaに対しAI開発企業であるPhindが微調整を加えたうえでテストを行いました。

具体的にはCodeLlama-34BとCodeLlama-34B-Pythonに対して、それぞれ約8万件のプログラミングの問題と解決策を提示して微調整を行いました。微調整には「DeepSpeed ZeRO-3」や「Flash Attention 2」が採用され、32個ものNVIDIA A100 Tensorコア GPUが使用されました。Phindによるとトレーニングには約3時間を要したとのこと。

さらにPhindではCodeLlama-34BとCodeLlama-34B-Pythonに対して、評価データの汚染を除去する処理を行い、結果の妥当性を確保しました。Phindによると、各評価例において、50文字を超える場合は3つの文字列をランダムにサンプリングして評価を行い、50文字以内の場合は生成された例全体を評価したとのこと。



調整を行ったCodeLlama-34BとCodeLlama-34B-PythonをテストデータセットのHumanEvalを用いてテストを行った結果、GPT-4は67%の問題を解決できた一方で、CodeLlama-34Bは67.6%、CodeLlama-34B-Pythonでは69.5%の問題を解決したことが報告されています。

Phindはユーザーによるさらなる検証とオープンソースコミュニティの強化を目的として、テストに用いた調整済みCodeLlama-34BとCodeLlama-34B-PythonをHuggingFace上で公開しています。また、「今回公開したモデルはほんの始まりに過ぎず、さらなるテストを行った改善版がまもなく公開される予定です」と報告しています。