Meta がコード Llama をリリース
Meta は、競争がはびこる生成 AI 分野に一石を投じることを目指しており、オープンソースの破れのようなものに取り組んでいます。
テキストの生成、言語の翻訳、音声の作成のための AI モデルのリリースに続き、同社は本日、自然言語、特に英語でコードを生成および説明できる機械学習システムである Code Llama をオープンソース化しました。
GitHub Copilot や Amazon CodeWhisperer、StarCoder、StableCode、PolyCoder などのオープンソースの AI を活用したコード ジェネレーターと同様に、Code Llama は、Python、C++、Java、PHP、 Typescript、C#、Bash。
「Metaでは、AIモデル、特にコーディング用の大規模な言語モデルが、イノベーションと安全性の両方の点で、オープンなアプローチから最も恩恵を受けると信じています」とMeta氏はTechCrunchと共有したブログ投稿で述べた。 「公開されているコード固有のモデルは、人々の生活を改善する新しいテクノロジーの開発を促進します。 Code Llama のようなコード モデルをリリースすることで、コミュニティ全体がその機能を評価し、問題を特定し、脆弱性を修正できます。」
Code Llama は、Python 用に最適化されたバージョンや、命令 (「フィボナッチ数列を出力する関数を書いてください」など) を理解できるように微調整されたバージョンなど、いくつかの種類があり、Llama 2 テキスト生成モデルに基づいています。 Meta は今月初めにオープンソース化しました。 Llama 2 はコードを生成できましたが、それは必ずしも良いコードではなく、Copilot のような専用モデルが生成できる品質に達していませんでした。
Code Llama のトレーニングでは、Meta は Llama 2 のトレーニングに使用したのと同じデータ セット、つまり Web 上で公開されているソースを組み合わせて使用しました。 しかし、モデルは、いわば、コードを含むトレーニング データのサブセットを「強調」しました。 基本的に、Code Llama には、その「親」モデルである Llama 2 よりもコードと自然言語の関係を学習するための時間がより多く与えられました。
各 Code Llama モデルのサイズは 70 億パラメータから 340 億パラメータに及び、コード関連データとともに 5,000 億のコード トークンを使用してトレーニングされました。 Python 固有のコード ラマは、Python コードの 1,000 億トークンに基づいてさらに微調整され、同様に、命令を理解するコード ラマは、質問に対する「役立つ」かつ「安全な」回答を生成するために、ヒューマン アノテーターからのフィードバックを使用して微調整されました。 。
コンテキストとしては、パラメーターは過去のトレーニング データから学習されたモデルの一部であり、テキスト (この場合はコード) の生成など、問題に対するモデルのスキルを本質的に定義します。一方、トークンは生のテキスト (例: 「ファン、 「素晴らしい」という言葉の「tas」と「tic」)。
Code Llama モデルのいくつかは既存のコードにコードを挿入でき、すべてが約 100,000 トークンのコードを入力として受け入れることができ、少なくとも 1 つ (70 億パラメータ モデル) は単一の GPU で実行できます。 (他のモデルは、より強力なハードウェアを必要とします。) Meta は、340 億パラメータのモデルは、これまでにオープンソース化されたコード ジェネレータの中で最もパフォーマンスが良く、パラメータ数でも最大であると主張しています。
コード生成ツールは、プログラマーだけでなく、プログラマーでない人にとっても非常に魅力的だと思うでしょうが、それは間違いではありません。
GitHub によると、現在 400 以上の組織が Copilot を使用しており、それらの組織内の開発者は以前よりも 55% 速くコーディングできるようになりました。 また、プログラミング Q&A サイトである Stack Overflow は、最近の調査で、今年 70% がすでに AI コーディング ツールを使用している、または使用する予定であることを明らかにし、生産性の向上や学習の迅速化などの利点を挙げています。
しかし、あらゆる形式の生成 AI と同様に、コーディング ツールも軌道から外れたり、新たなリスクをもたらしたりする可能性があります。
スタンフォード大学関連の研究チームは、AI ツールを使用するエンジニアはアプリにセキュリティの脆弱性を引き起こす可能性が高いことを発見しました。 研究チームが示したツールは、表面的には正しいように見えても、侵害されたソフトウェアを呼び出したり、安全でない構成を使用したりすることで、セキュリティ上の問題を引き起こすコードを生成することがよくあります。