「SafeCoder対クローズドソースのコードアシスタント」
SafeCoder - Code Assistant for Closed Source
数十年にわたり、ソフトウェア開発者は、コード品質の向上と生産性の向上を支援するための手法、プロセス、ツールを設計してきました。たとえば、アジャイル、テスト駆動開発、コードレビュー、CI/CDなどは、今やソフトウェア業界の定番です。
Googleは「How Google Tests Software」(Addison-Wesley、2012)で、システムテストの最終テスト段階でバグを修正するコストが、ユニットテスト段階で修正するコストの1000倍高いと報告しています。これにより、チェーンの最初のリンクである開発者には、初めから品質の高いコードを書くという大きなプレッシャーがかかります。
生成型AIに関する大騒ぎがある一方で、コード生成は開発者が迅速に優れたコードを提供するのに有望な方法のようです。実際、早期の研究では、GitHub CopilotやAmazon CodeWhispererなどの管理されたサービスが、開発者の生産性を向上させるのに役立つことが示されています。
ただし、これらのサービスはユーザー固有の技術文化やプロセスにカスタマイズできないクローズドソースのモデルに依存しています。Hugging Faceは数週間前にSafeCoderをリリースし、この問題を解決しました。SafeCoderは、エンタープライズ向けのコードアシスタントソリューションであり、最新のモデル、透明性、カスタマイズ性、ITの柔軟性、プライバシーを提供します。
この記事では、SafeCoderをクローズドソースのサービスと比較し、当社のソリューションから期待できる利点を強調します。
最先端のモデル
SafeCoderは現在、StarCoderモデルをベースに構築されています。StarCoderは、BigCode共同プロジェクト内で設計およびトレーニングされたオープンソースモデルのファミリーです。
StarCoderは、80以上のプログラミング言語でコード生成のためにトレーニングされた155億のパラメータモデルです。Multi-Query Attention(MQA)などの革新的なアーキテクチャの概念を使用してスループットを向上させ、レイテンシを低減させる技術を採用しています。この技術は、FalconとLLaMa 2モデルでも使用されています。
StarCoderは8192トークンのコンテキストウィンドウを持っており、より多くのコードを考慮して新しいコードを生成するのに役立ちます。また、コードの末尾に新しいコードを追加するだけでなく、コードの途中にも挿入することができます。
さらに、HuggingChatと同様に、SafeCoderは時間の経過とともに新しい最先端のモデルを導入し、シームレスなアップグレードパスを提供します。
残念ながら、クローズドソースのコードアシスタントサービスは、基礎となるモデル、その機能、およびトレーニングデータに関する情報を共有していません。
透明性
SafeCoderは、チンチラのスケーリング法則に従って、1兆(1,000億)のコードトークンでトレーニングされたコンピューティング最適化モデルです。これらのトークンは、許可されたオープンソースリポジトリから抽出された2.7テラバイトのデータセットで構築されています。オプトアウトのリクエストへの対応に努め、リポジトリ所有者が自分のコードがデータセットの一部であるかどうかを確認するためのツールも開発しました。
透明性の精神に則り、研究論文ではモデルのアーキテクチャ、トレーニングプロセス、詳細なメトリクスについて開示しています。
残念ながら、クローズドソースのサービスは、「数十億行のコードでトレーニングされました」といった曖昧な情報にとどまっています。私たちの知る限りでは、利用可能なメトリクスはありません。
カスタマイズ性
StarCoderモデルは、カスタマイズ可能に設計されており、すでにさまざまなバージョンがあります:
- StarCoderBase:The Stackの80以上の言語でトレーニングされたオリジナルのモデル。
- StarCoder:PythonでさらにトレーニングされたStarCoderBase。
- StarCoder+:コーディングの対話のために英語のウェブデータでさらにトレーニングされたStarCoderBase。
また、GitHubでファインチューニングのコードを共有しています。
各企業には、好みの言語やコーディングガイドライン(インラインドキュメンテーションやユニットテストの書き方、セキュリティやパフォーマンスに関するベストプラクティスなど)があります。SafeCoderでは、あなたのソフトウェアエンジニアリングプロセスの特異性を学習するモデルのトレーニングをサポートできます。私たちのチームは、高品質なデータセットの準備とStarCoderのファインチューニングをあなたのインフラストラクチャでサポートします。あなたのデータは誰にも公開されません。
残念ながら、クローズドソースのサービスはカスタマイズできません。
ITの柔軟性
SafeCoderは、ファインチューニングとデプロイメントにDockerコンテナを使用しています。オンプレミスまたはクラウド上の任意のコンテナ管理サービスで簡単に実行できます。
さらに、SafeCoderにはOptimumハードウェアアクセラレーションライブラリも含まれています。CPU、GPU、またはAIアクセラレータを使用している場合、Optimumはトレーニングと推論にかかる時間とコストを節約するために自動的に使用されます。基礎となるハードウェアを制御できるため、インフラストラクチャのコストパフォーマンス比をニーズに合わせて調整することもできます。
残念ながら、クローズドソースのサービスはマネージドサービスとしてのみ利用可能です。
セキュリティとプライバシー
ソースコードが関与する場合、セキュリティは常に最優先事項です。知的財産とプライバシーは、どんな状況でも保護されなければなりません。
オンプレミスまたはクラウドで実行している場合でも、SafeCoderは完全な管理コントロール下にあります。セキュリティチェックを適用し、監視し、ITプラットフォーム全体で堅牢で一貫したコンプライアンスを維持することができます。
SafeCoderは、お客様のデータを盗み見しません。プロンプトや提案はあなたのものであり、他の誰にも属しません。SafeCoderは自宅に電話をかけず、テレメトリデータをHugging Faceまたは他の誰にも送信しません。SafeCoderの使用方法やタイミングについて、あなた以外の誰も知る必要はありません。SafeCoderはインターネット接続さえ必要としません。完全にネットワークから切断して実行することができます(むしろそうすべきです)。
クローズドソースのサービスは、基盤となるクラウドのセキュリティに依存しています。これがコンプライアンスのポジションでうまく機能するかどうかは、あなたの判断に委ねられます。企業ユーザーの場合、プロンプトや提案は保存されません(個々のユーザーの場合は保存されます)。ただし、GitHubは「ユーザーエンゲージメントデータ」を収集し、オプトアウトの可能性がありません。AWSも同様にデフォルトで収集しますが、オプトアウトの選択肢があります。
結論
SafeCoderの将来には非常に興奮していますし、お客様も同様です。最先端のコード生成、透明性、カスタマイズ性、ITの柔軟性、セキュリティ、プライバシーに妥協する必要はありません。SafeCoderはそれらすべてを提供すると信じており、さらに改善を続けるために努力を惜しまないでしょう。
会社でSafeCoderに興味がある場合は、お問い合わせください。私たちのチームがすぐに連絡を取り、ユースケースをより詳しく知り、要件を話し合うことになります。
お読みいただきありがとうございました!
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles