SafeCoder と クローズドソース コード アシスタント
TL;DR
Hugging Face は、オープンソースの StarCoder モデルに基づいて構築されたエンタープライズ向けコード アシスタントである SafeCoder をリリースしました。クローズドソースの代替品とは異なり、SafeCoder はトレーニング データに関する完全な透明性を提供し、企業固有のコーディング ガイドラインに深くカスタマイズでき、最大限のセキュリティとプライバシーを確保するためにエアギャップ デプロイメントをサポートします。
最先端のモデル アーキテクチャ
SafeCoder は、BigCode コラボラティブ プロジェクトを通じて開発された StarCoder ファミリのモデルによって駆動されます。コアの StarCoder モデルは、80 以上のプログラミング言語でトレーニングされた 155 億パラメータのモデルです。
主な技術仕様は次のとおりです:
- Multi-Query Attention (MQA): スループットを向上させ、レイテンシを削減するために使用されます。
- Context Window: 8192 トークンのウィンドウにより、モデルは既存のコードのより大きなブロックを処理して、生成品質を向上させることができます。
- Fill-in-the-Middle (FIM): モデルは、ファイルの末尾に追加するだけでなく、既存のファイル内にコードを挿入することができます。
- Upgrade Path: SafeCoder は、時間の経過とともに新しい最先端のモデルを統合できるように設計されています。
透明性とトレーニング データ
SafeCoder は Chinchilla スケーリング 法則に従い、1 兆のコード トークンでトレーニングされました。これらのトークンは、許可ライセンスのオープンソース リポジトリから構成される 2.7 テラバイトのデータセット「The Stack」から取得されました。
透明性と倫理的な調達を確保するため、Hugging Face は次のものを提供します:
- Opt-out Mechanisms: リポジトリの所有者は、専用ツールを使用して自分のコードがデータセットに含まれているかを確認し、削除をリクエストできます。
- Public Documentation: モデルのアーキテクチャ、トレーニング プロセス、詳細なパフォーマンス指標を開示する研究論文。
エンタープライズ カスタマイズ
SafeCoder は、内部コーディング ガイドライン、セキュリティ基準、優先されるドキュメント スタイルなど、企業固有の技術文化に合わせてカスタマイズできるように設計されています。Hugging Face は、基礎となるモデルの 3 つの主要バージョンを提供します:
- StarCoderBase: 80 以上の言語でトレーニングされた元のモデル。
- StarCoder: StarCoderBase をさらに Python でトレーニングしたモデル。
- StarCoder+: StarCoderBase をさらに英語のウェブデータでトレーニングし、コーディングの会話を容易にするモデル。
企業は、GitHub から共有されたファインチューニング コードを使用して、自社のインフラストラクチャ上でこれらのモデルをファインチューニングすることができます。これにより、独自のデータが外部に公開されることは決してありません。
IT の柔軟性とデプロイメント
SafeCoder は Docker コンテナの使用によりデプロイメントの柔軟性を提供し、オンプレミスまたは任意のコンテナ管理サービスを介したクラウドで実行できます。
ハードウェアの最適化は、Hugging Face の Optimum ライブラリを介して行われます。このライブラリは、CPU、GPU、または AI アクセラレータに対してハードウェア アクセラレーションを自動的に適用し、トレーニングと推論のコストパフォーマンス比を最適化します。
セキュリティとプライバシー コントロール
SafeCoder は、知的財産の保護が重要な高セキュリティ環境向けに設計されています。管理されたクローズドソース サービスと比較して、いくつかのプライバシー上の利点を提供します:
- Administrative Control: ユーザーは、セキュリティ チェックとコンプライアンス モニタリングを完全に制御できます。
- Air-Gapped Support: SafeCoder はインターネット接続を必要とせず、完全にエアギャップで実行できます。つまり、テレメトリやプロンプトを Hugging Face に送信しません。
- Data Ownership: プロンプトと提案はユーザーにのみ残ります。
対照的に、一部のクローズドソース サービスはユーザー エンゲージメント データを収集していることが指摘されており、オプトアウトの可用性にはばらつきがあります。