コードクウェン
無料
CodeQwen は、Alibaba Tongyi Qianwen (Qwen) チームによって開始されたコード固有の大規模言語モデルです。これは Qwen1.5 アーキテクチャに基づいており、約 3 兆トークンのコード データで事前トレーニングされています。 92 のプログラミング言語をサポートし、コンテキスト長は 64K です。 CodeQwen1.5-7B は、HumanEval で pass@1 (Chat バージョン) の 83.5% に達し、コード生成、長いコンテキスト モデリング、Text-to-SQL へのコード編集、およびその他のタスクで優れたパフォーマンスを発揮し、オープン ソース コード モデルの最初のエシュロンとなっています。
CodeQwen のツール分析
コアパラメータと統計
| パラメータ | 値 |
|---|---|
| 正式なモデル名 | CodeQwen1.5-7B / CodeQwen1.5-7B-チャット |
| 開発チーム | Alibaba Cloud Tongyi Qianwen チーム (Qwen チーム) |
| インフラ | Qwen1.5 (トランスデコーダーのみ) |
| パラメータスケール | 7B |
| 事前トレーニング データの量 | 約3兆トークン(コード関連データ) |
| サポートされているプログラミング言語 | 92種類 |
| コンテキストの長さ | 64K トークン |
| 注意メカニズム | グループ クエリ アテンション (GQA) |
| ライセンス契約 | Tongyi Qianwen 研究ライセンス契約 (研究には利用可能、商用利用には申請が必要) |
| オープンソースリポジトリ | GitHub: QwenLM/Qwen1.5 |
| モデルウェイトプラットフォーム | ハグフェイス / モデルスコープ |
CodeQwen は、コーディング シナリオ用に特別に設計された Alibaba Tongyi Qianwen ファミリーの大規模な言語モデルです。一般的な Qwen モデルとは異なり、CodeQwen は事前トレーニング段階の特別なトレーニングに約 3 兆トークンのコード データを使用し、92 のプログラミング言語をカバーします。その核となる利点は、データ分散の特殊化によるものです。パラメーターのスケールが大きいことではなく、トレーニング データ内のコードの密度と多様性が高く、コードの生成、理解、修復、その他のタスクにおいてモデルが同じサイズの一般的なモデルよりも大幅に優れています。
ユーザーと市場の認識
- GitHub エコシステム: CodeQwen1.5 シリーズ モデルは QwenLM/Qwen1.5 ウェアハウスでホストされており、Qwen 組織全体が GitHub で 21,400 以上のスターを獲得しました。 CodeQwen1.5-7B は、Hugging Face で毎月約 3,154 回ダウンロードされています (クエリ日現在)。
- ベンチマーク結果: CodeQwen1.5-7B-Chat は HumanEval 0-shot で 83.5% pass@1 に達し、同じサイズの DeepSeek-Coder-Instruct 6.7B (78.6%) および CodeLlama-7B (33.5%) を上回り、オープンソース 7B レベル コード モデルで 1 位にランクされました。 MBPP 0 ショット率は 77.7% に達し、これも同サイズの競合製品を上回っています。
- 長いコンテキストの評価: 「Needle in the Code」総合評価では、CodeQwen1.5 は 64K の長さの範囲内で挿入されたカスタム関数を正確に再現でき、その長いコンテキスト コードの理解能力が設計目標を満たしていることを示します。
- SWE ベンチのパフォーマンス: SWE ベンチで CodeQwen1.5-Chat のスコアは 0.89 で、ChatGPT-3.5 を上回りました。これは、実際のウェアハウス レベルのソフトウェア開発問題を解決する能力が当初は競争力があることを示しています。
コストメリット
CodeQwenはオープンソースのコードモデルとして位置付けられており、そのコスト構造は個人開発者、学術研究者、企業の3つのレベルで異なります。
- C サイド/個人開発者: モデルの重みは完全に無料でオープンソース (リサーチ ライセンス) であり、Hugging Face Transformers や Ollama などのツールを通じてローカル GPU に展開して実行できます。ビデオ メモリ要件に関しては、BF16 の精度には約 16.99 GB の GPU ビデオ メモリ (7B モデル) が必要ですが、Int4 定量化後は約 8.21 GB に削減され、コンシューマー グレードのグラフィック カード (RTX 3090/4090 など) で実行できます。推論速度に関しては、BF16 では約 40.93 トークン/秒、Int4 では約 50.09 トークン/秒です。
- 開発者/API 呼び出し: Tongyi Qianwen シリーズ モデル (qwen-turbo/qwen-plus) は、Alibaba Cloud DashScope API を通じて呼び出すことができ、請求はトークンに基づいて行われます。具体的な価格は DashScope の公式ページに準拠します。さらに、vLLM/SGLang サービスは、Hugging Face Inference API を介して、または自分でデプロイできます。導入コストは GPU の仕様によって異なります。
- エンタープライズ/プライベート展開: 企業は、オープンソースの重みに基づいて、プライベート化された展開と微調整を実行できます。商用利用の場合は、Alibaba Cloud に商用認可を申請する必要があります (申請フォームに記入します)。具体的な認可条件は正式な返答に従うものとします。 Code Assistant の民営化された展開が必要な金融や政府業務などのコンプライアンス シナリオの場合、CodeQwen のオープンソース機能により、データのアウトバウンドやサードパーティへの依存のリスクが軽減されます。
主な機能
- コード生成 (テキストからコードへ): 自然言語の記述を実行可能コードに変換します。 Python、C++、Java、JavaScript、TypeScript、Go、Rust を含む 92 の言語をサポートします。 HumanEval ベンチマークと MBPP ベンチマークでは、Chat バージョン pass@1 はそれぞれ 83.5% と 77.7% に達し、GPT-3.5 レベルに近づきます。
- 長いコンテキスト コードの理解: 64K トークンのコンテキスト ウィンドウにより、リポジトリ レベルのコード ファイルを処理できます。 NTK 対応の内挿や LogN アテンション スケーリングなどのテクノロジーに基づいて拡張されており、実際のテストでは 64K 長さの範囲内のコード フラグメントを正確に取得して再現できます。
- コード編集とデバッグ: CodeEditorBench では、CodeQwen1.5 は、デバッグ、翻訳、言語切り替え、コード研磨の 4 つの側面で 7B パラメーターの SOTA 効果を達成しました。
- Text-to-SQL: 自然言語クエリから SQL ステートメントへの変換をサポートします。 Text-to-SQL の 2 つのベンチマーク Spider と Bird では、CodeQwen1.5-Chat は GPT-4 (DIN-SQL プロンプト方式) に次ぐ 2 位にランクされています。この機能により、非プログラマーとデータベースの間の対話のギャップを埋めることができます。
- ツール呼び出しとエージェント機能: Qwen-Chat シリーズは、ReAct スタイルのツール呼び出しと関数呼び出しをサポートしています。中国ツールの使用評価では、CodeQwen1.5-7B-Chat のツール選択精度は 95.5% に達し、ツール入力 Rouge-L は 0.900 に達し、誤検知率はわずか 11.6% でした。
モデルとバージョンの進化
CodeQwen には現在、2024 年 4 月 16 日にリリースされる CodeQwen1.5 というメジャー リリース シリーズが 1 つだけあります。このシリーズは 2 つのモデルで構成されています。
CodeQwen1.5-7B (ベース)
約 3 兆トークンのコード データで事前トレーニングされたコードベースのモデル。コード補完や微調整などの下流タスクに適しています。対話機能は組み込まれていないため、ユーザーは自分でプロンプト形式を構築するか、SFT を実行する必要があります。
CodeQwen1.5-7B-チャット (チャット)
基本モデルに基づいて SFT および RLHF に合わせたダイアログ バージョンは、複数ラウンドのコード ダイアログ、コード生成、デバッグ、SQL クエリなどの対話型シナリオをネイティブにサポートします。レビューは主にチャットバージョンを中心に展開します。
CodeQwen が Qwen1.5 時代 (2024 年初頭) に誕生したことは注目に値します。 Qwen2、Qwen2.5、および最新の Qwen3 シリーズのリリースに伴い、Tongyi Qianwen チームはコード機能の反復を続けています。Qwen3 シリーズにはコード生成機能が統合されており、Qwen3-Coder などの後続の専用モデルが CodeQwen の精神的な後継者になる可能性があります。しかし、現時点ではまだ CodeQwen1.5 が Qwen シリーズの中で「Code」という名前のコードに特化した唯一のオープンソース モデルです。
技術的な利点
- 特殊な事前トレーニング データ: CodeQwen1.5 は、一般的なテキスト データではなく、約 3 兆トークンのコード データで事前トレーニングされています。これらのコード データは、複数の言語、複数のフレームワーク、および複数の分野の実際のコードをカバーしており、コード構文、セマンティクス、プログラミング パラダイムに対するモデルの理解が、同じスケールの一般的なモデルよりもはるかに深くなります。
- グループ クエリ アテンション (GQA): グループ クエリ アテンション メカニズムを使用して、推論中の KV キャッシュの使用量を削減し、マルチラウンド ダイアログと長いシーケンス生成のスループット効率を向上させます。 GQA は、コード生成の継続的な編集シナリオで特に重要です。開発者がコード スニペットを頻繁に表示および変更する場合、GQA は推論遅延を効果的に削減できます。
- 長いコンテキスト拡張テクノロジー: NTK 対応の内挿ウィンドウ アテンション テクノロジーと LogN アテンション スケーリング テクノロジーの組み合わせにより、コンテキストの長さを事前トレーニングされた 8K から 64K に拡張します。これにより、モデルはウェアハウス レベルのコード ファイル全体を一度に読み取ることができるため、関数を変更するときにファイル全体のコンテキスト依存関係を理解できます。
- 多言語対応: 92 のプログラミング言語でのコード生成をサポートし、主流言語 (Python、Java、C++、JavaScript) からニッチ言語 (Verilog、Racket、COBOL など) まですべてをカバーします。 MultiPL-Eの評価では、Python、C++、Java、PHP、TypeScript、C#、Bash、JavaScriptの8つの主流言語でパフォーマンスのバランスが取れており、単一の言語に偏ることはありませんでした。
- 量子化フレンドリー: 公式では、Int4 および Int8 量子化バージョンが提供されています。量子化後は、推論速度が約 20% ~ 40% 向上し、ビデオ メモリの使用量が約 50% 削減され (7B BF16: 16.99GB → Int4: 8.21GB)、コンシューマー グレードのグラフィック カードの実行が可能になります。定量化されたパフォーマンスの損失は、ベンチマークで 2 ~ 3 パーセント ポイントを超えません。
使い方
CodeQwen には柔軟なデプロイメントおよび呼び出し方法があり、ローカルでの実験から実稼働デプロイメントまでのすべてのシナリオをカバーします。
局所推論 (トランスフォーマー)
「」パイソン トランスフォーマーから AutoModelForCausalLM、AutoTokenizer をインポート
model_name = "Qwen/CodeQwen1.5-7B-Chat" tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) モデル = AutoModelForCausalLM.from_pretrained( モデル名、 デバイスマップ = "自動", trust_remote_code=True ).eval()
応答、履歴 = model.chat(トークナイザー、「Python でクイック ソート関数を作成する」、履歴 = なし) 印刷(応答) 「」
OpenAI 互換 API デプロイ (vLLM)
「」バッシュ pip インストール vllm python -m vllm.entrypoints.openai.api_server \ --モデル Qwen/CodeQwen1.5-7B-チャット \ --trust-remote-code \ --dtype bfloat16 「」
次に、OpenAI SDK 経由で呼び出します。
「」パイソン openaiインポートからOpenAI
クライアント = OpenAI(
api_key="
chat_response = client.chat.completions.create( モデル="Qwen/CodeQwen1.5-7B-チャット", messages=[{"role": "user", "content": "C++ での LRU キャッシュの実装"}], max_tokens=2048、 温度=0.2 ) print(chat_response.choices[0].message.content) 「」
ローカル軽量デプロイメント (Ollama/llama.cpp)
CodeQwen1.5 は、Ollama を介したワンクリック デプロイメントをサポートしており、llama.cpp を介して CPU 推論を実行することもできます。モデルの重みは Hugging Face にアップロードされており、コミュニティは GGUF 形式で量子化されたバージョンを提供しています。
Alibaba Cloud DashScope API
Tongyi Qianwen シリーズ モデル (コーディング機能を含む) は、Alibaba Cloud DashScope を通じてオンラインで呼び出すことができます。
「」パイソン ダッシュスコープをインポートする ダッシュスコープからのインポート生成
dumpscope.api_key = "
製品の価格設定
- オープンソースの重み: CodeQwen1.5-7B および CodeQwen1.5-7B-Chat のモデル重みは、Tongyi Qianwen RESEARCH LICENSE AGREEMENT を使用して、Hugging Face および ModelScope に無料でダウンロードできます (研究に使用できますが、商用利用には Alibaba Cloud からの許可が必要です)。
- DashScope API: Alibaba Cloud DashScope 経由で Tongyi Qianwen シリーズ モデルを呼び出し、トークンによって請求されます。 qwen-turbo および qwen-plus の具体的な価格は、DashScope の公式価格ページに準拠しており、通常は GPT シリーズ モデルの API 価格よりも低くなります。
- プライベート導入コスト: GPU ハードウェアの選択によって異なります。 Int4 量子化バージョンは 1 つの RTX 3090/4090 (24GB のビデオ メモリ) で実行でき、BF16 バージョンは 24GB 以上のビデオ メモリを備えた GPU の使用を推奨します。エンタープライズ展開では、推論フレームワーク (vLLM/SGLang)、負荷分散、運用および保守のコストも考慮する必要があります。
- 無料割り当て: DashScope API は、新規ユーザーに無料通話割り当てを提供します (最新の公式 Alibaba Cloud ポリシーに従う)。オープンソース展開自体には使用制限がありません。
アプリケーションのシナリオ
- AI プログラミング アシスタントのプライベート展開: 企業は、GitHub Copilot のオープンソース代替として CodeQwen を社内サーバーに展開できます。コードデータのプライバシーに厳しい要件がある金融、政府関係、軍事産業などのシナリオに特に適しています。 VSCode 拡張機能または JetBrains プラグインを介してモデル API に接続し、コードの補完、解釈、レビューを実現します。導入には、企業に GPU インフラストラクチャがあるか、クラウド API 呼び出しを受け入れることができる必要があります。
- テキストから SQL へのデータ クエリ: 技術者以外のビジネス担当者が自然言語を通じてクエリ要件を記述し、CodeQwen がそれらを実行可能な SQL ステートメントに変換します。データ アナリスト、オペレーター、ビジネス マネージャーがデータ チームへの依存を軽減するのに適したセルフサービス クエリ シナリオ。複雑な複数テーブルの JOIN クエリの精度は GPT-4 よりも低い可能性があることに注意してください。主要なクエリに手動レビューを追加することをお勧めします。
- コードの指導と学習支援: CodeQwen-Chat は、コード スニペットの説明、例の提供、エラーの指摘など、プログラミング学習パートナーとして機能します。プログラミングの初心者向けに、コーディング プロセスについての会話形式のステップバイステップ ガイドを提供します。ただし、モデルによっては安全でないコードやセキュリティ上のリスクを伴う書き方が生成される可能性があるため、教育においては安全なコーディングに対する意識を重視する必要があります。
- コードの移行とリファクタリング: 古い言語 (COBOL、Fortran など) から最新の言語 (Python、Java など) にコードを移行するか、異なるフレームワーク間でコードをリファクタリングします。 CodeQwen の言語間翻訳機能は、92 言語を対象とした事前トレーニングに基づいています。移行されたコードに対して適切な単体テスト検証を実行することをお勧めします。
該当する人
- ソフトウェア開発者: CodeQwen を使用して、コーディング プロセス中のコード生成、デバッグ、解釈を支援します。主流の IDE 統合 (Ollama または vLLM の API インターフェイス経由) をサポートしており、無料のオープンソース コード アシスタントを探している個人の開発者や小規模チームに適しています。最高のエクスペリエンスを実現するには、基本モデルのローカル展開機能が必要です。
- データ エンジニアとアナリスト: Text-to-SQL 機能を活用してデータベースにすばやくクエリを実行したり、Python スクリプトを使用してデータ処理タスクを自動化したりできます。 SQL 生成における CodeQwen のパフォーマンスは GPT-4 に近く、通常のクエリには十分な信頼性があります。超複雑なクエリや同時実行性の高いシナリオには適していません (商用データベース AI アシスタントの使用をお勧めします)。
- AI アプリケーション開発者: CodeQwen をバックエンド コード生成モジュールとして自社開発 AI アプリケーションに埋め込み、サードパーティ API の価格設定や頻度制御の制限に依存することなく、オープンソースの重みを利用して自分でデプロイできます。 Research License の商業利用制限を評価する必要があり、商業利用の前に Alibaba Cloud に認可を申請する必要があります。
- 学術研究者: 技術的なルート、微調整方法、大規模なコード モデルの評価ベンチマークを研究します。 CodeQwen1.5 のオープンソースの重みと完全な技術レポートは、コード LLM 研究のための再現可能なベースライン モデルを提供します。コードインテリジェンス、ソフトウェアエンジニアリングの自動化、その他の方向の研究に適しています。
境界には適していません: CodeQwen は一般的な会話シナリオには適していません (同時期の Qwen2 一般モデルと比較すると、チャット機能やオープン ドメイン作成機能が不十分です)。 80K 以上の超長いコンテキストを必要とするシナリオには適していません (コンテキスト ウィンドウの上限は 64K)。リアルタイムの低遅延を必要とするオンライン サービスには適していません (vLLM によって最適化されていない場合、推論速度が制限されます)。非常に高いコード セキュリティ要件が必要な運用環境でモデル出力を直接使用するのには適していません (手動のコード レビューが必要です)。
概要と展望
CodeQwen1.5-7B は、Alibaba Tongyi Qianwen チームによるコード固有のモデルの方向への重要な試みです。これは、当時 7B パラメータ レベルを備えた最も強力なオープン ソース コード モデルの 1 つでもありました。その主な利点は、3 兆のトークン コード データの事前トレーニングによってもたらされる深いコード理解機能、ウェアハウス レベルのコードの 64K コンテキスト ウィンドウ処理機能、および 92 言語の広範なカバーにあります。 HumanEval、MBPP、SWE-Bench などの複数のコード ベンチマークでのパフォーマンスにより、その競争力が確認されました。
現在の制限事項: CodeQwen のサイズは現在わずか 7B であり、より高いベンチマークを達成するためのより大きなパラメーター スケールを備えたバージョンがありません。研究ライセンスは商業向きではないため、企業は追加の認可を申請する必要があります。このモデルは比較的早期 (2024 年 4 月) にリリースされ、その後の Qwen3 シリーズには一般的なモデルにコード機能が組み込まれています。
調達と導入のリスク評価: コード アシスタントの展開を民営化したいチームにとって、CodeQwen1.5 は低リスクの開始ソリューションです。オープン ソースの重量は 7B で無料で入手でき、スケールは消費者グレードのグラフィック カードで実行でき、コミュニティ エコシステムは完成しています。 Ollama または Transformers を使用してローカルで PoC 検証を実行し、コード生成の品質がビジネス要件を満たしていることを確認してから、商用認可要件を評価することをお勧めします。最新のコーディング機能を追求するチームにとって、Qwen3-Coder シリーズは後継ソリューションとして検討できます。すべての実稼働環境を使用する前に、コード セキュリティ監査プロセスを確立して、モデルで生成されたコードに対して必要なセキュリティ レビューとテスト カバレッジを実施する必要があります。
関連ツール: github-copilot、cursor
バージョン情報
- CodeQwen1.5-7B-チャット :最初の公開バージョンは、Qwen1.5 アーキテクチャ、7B パラメータに基づいており、92 のプログラミング言語と 64K のコンテキストをサポートし、HumanEval で 83.5% pass@1 に達します。
- コードクウェン1.5-7B :コード ベース モデル (Base) は、約 3 兆のトークン コード データで事前トレーニングされており、コード補完と微調整をサポートします。公式の正確な日付はまだありません。ブログのリリース日 2024-04-16 を参照してください。
ユーザーレビュー