🚀 OpenCodeReasoning-Nemotron-32B-IOI 概要
OpenCodeReasoning-Nemotron-32B-IOIは、大規模言語モデル(LLM)であり、Qwen2.5-32B-Instruct(参照モデル)の派生モデルです。これは、コード生成のための推論に関して事後学習された推論モデルで、32Kトークンのコンテキスト長をサポートしています。
このモデルは、商用・非商用利用に対応しています。

🔍 モデル情報
属性 |
详情 |
モデルタイプ |
大規模言語モデル(LLM) |
ベースモデル |
Qwen/Qwen2.5-32B-Instruct |
データセット |
nvidia/OpenCodeReasoning |
言語 |
en |
ライブラリ名 |
transformers |
ライセンス |
apache-2.0 |
タグ |
nvidia, code |
パイプラインタグ |
text-generation |
✨ 主な機能
- Qwen2.5-32B-Instructをベースにした派生モデルで、コード生成のための推論に特化した事後学習が行われています。
- 32Kトークンのコンテキスト長をサポートしています。
- 商用・非商用利用に対応しています。
📦 インストール
このセクションではインストールに関する具体的な手順が記載されていません。
💻 使用例
基本的な使用法
C++コード生成の推論実行
import transformers
import torch
model_id = "nvidia/OpenCodeReasoning-Nemotron-32B-IOI"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
prompt = """You are a helpful and harmless assistant. You should think step-by-step before responding to the instruction below.
Please use c++ programming language only.
You must use ```cpp for just the final solution code block with the following format:
```cpp
// Your code here
{user}
"""
messages = [
{
"role": "user",
"content": prompt.format(user="Write a program to calculate the sum of the first $N$ fibonacci numbers")},
]
outputs = pipeline(
messages,
max_new_tokens=32768,
)
print(outputs[0]["generated_text"][-1]['content'])
##### Pythonコード生成の推論実行
```python
import transformers
import torch
model_id = "nvidia/OpenCodeReasoning-Nemotron-32B"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
prompt = """You are a helpful and harmless assistant. You should think step-by-step before responding to the instruction below.
Please use python programming language only.
You must use ```python for just the final solution code block with the following format:
```python
# Your code here
{user}
"""
messages = [
{
"role": "user",
"content": prompt.format(user="Write a program to calculate the sum of the first $N$ fibonacci numbers")},
]
outputs = pipeline(
messages,
max_new_tokens=32768,
)
print(outputs[0]["generated_text"][-1]['content'])
### 📚 ドキュメント
#### [OpenCodeReasoning](https://arxiv.org/abs/2504.01943)からの結果
以下の結果は、各ベンチマークにおける**64回の評価の平均**です。
| モデル | データセットサイズ Python | C++ | LiveCodeBench (pass@1) | CodeContests (pass@1) | IOI (合計スコア) |
|---------------------------|---------------------|--------|------------------------|-----------------------|-------------------|
| OlympicCoder-7B | 0 | 100K | 40.9 | 10.6 | 127 |
| OlympicCoder-32B | 0 | 100K | 57.4 | 18.0 | 153.5 |
| QWQ-32B | - | - | 61.3 | 20.2 | 175.5 |
| | | | | | |
| **OpenCodeReasoning-IOI** | | | | | |
| | | | | | |
| **OCR-Qwen-32B-Instruct** | **736K** | **356K**| **61.5** | **25.5** | **175.5** |
#### 結果の再現
* [モデル](https://huggingface.co/collections/nvidia/opencodereasoning-2-68168f37cd7c6beb1e3f92e7)
* [データセット](https://huggingface.co/datasets/nvidia/OpenCodeReasoning)
* [論文](https://arxiv.org/abs/2504.01943)
### 🔧 技術詳細
#### モデルアーキテクチャ
- アーキテクチャタイプ: 密なデコーダーのみのTransformerモデル
- ネットワークアーキテクチャ: Qwen-32B-Instruct
このモデルはQwen2.5-32B-Instructをベースに開発され、32Bのモデルパラメータを持っています。OpenCodeReasoning-Nemotron-32Bも同様にQwen2.5-32B-Instructをベースに開発され、32Bのモデルパラメータを持っています。
#### 入力
- 入力タイプ: テキスト
- 入力形式: 文字列
- 入力パラメータ: 一次元(1D)
- 入力に関連するその他の特性: 最大32,768トークンのコンテキスト長
#### 出力
- 出力タイプ: テキスト
- 出力形式: 文字列
- 出力パラメータ: 一次元(1D)
- 出力に関連するその他の特性: 最大32,768トークンのコンテキスト長
当社のAIモデルは、NVIDIAのGPUアクセラレートシステムでの実行を想定して設計および最適化されています。NVIDIAのハードウェア(GPUコアなど)とソフトウェアフレームワーク(CUDAライブラリなど)を活用することで、CPUのみのソリューションと比較して、高速な学習と推論が可能になります。
#### ソフトウェア統合
- ランタイムエンジン: NeMo 2.3.0
- 推奨ハードウェアマイクロアーキテクチャ互換性: NVIDIA Ampere、NVIDIA Hopper
- 推奨/サポートされるオペレーティングシステム: Linux
#### モデルバージョン
1.0 (2025年4月25日)
OpenCodeReasoning-Nemotron-7B
OpenCodeReasoning-Nemotron-14B
OpenCodeReasoning-Nemotron-32B
OpenCodeReasoning-Nemotron-32B-IOI
### 📄 ライセンス
このモデルの使用は、[Apache 2.0](https://huggingface.co/nvidia/OpenCode-Nemotron-2-7B/blob/main/LICENSE)によって管理されています。
### トレーニングと評価データセット
#### トレーニングデータセット
OpenCodeReasoning-Nemotron-32Bのトレーニングコーパスは、[OpenCodeReasoning](https://huggingface.co/datasets/nvidia/OpenCodeReasoning)データセットであり、競技プログラミングの問題とDeepSeek-R1によって生成された応答で構成されています。
- データ収集方法: ハイブリッド(自動、人間、合成)
- ラベリング方法: ハイブリッド(自動、人間、合成)
- 特性: OpenCodeReasoning (https://huggingface.co/datasets/nvidia/OpenCodeReasoning) からの736kのサンプル
#### 評価データセット
OpenCodeReasoning-Nemotron-32Bの評価には、次のセクションに記載されているデータセットを使用しました。
- データ収集方法: ハイブリッド(自動、人間、合成)
- ラベリング方法: ハイブリッド(自動、人間、合成)
### その他の情報
#### デプロイメント地域
グローバル
#### ユースケース
このモデルは、大規模言語モデルを構築する開発者や研究者を対象としています。
#### リリース日
Huggingface [2025年4月25日] via https://huggingface.co/nvidia/OpenCodeReasoning-Nemotron-32B/
#### 参照
[2504.01943] OpenCodeReasoning: Advancing Data Distillation for Competitive Coding
#### 推論
- エンジン: vLLM
- テストハードウェア: NVIDIA H100-80GB
### 引用
もしこのデータが有用であると思われる場合は、以下を引用してください。
@article{ahmad2025opencodereasoning,
title={OpenCodeReasoning: Advancing Data Distillation for Competitive Coding},
author={Wasi Uddin Ahmad, Sean Narenthiran, Somshubra Majumdar, Aleksander Ficek, Siddhartha Jain, Jocelyn Huang, Vahid Noroozi, Boris Ginsburg},
year={2025},
eprint={2504.01943},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2504.01943},
}
### 倫理的な考慮事項
NVIDIAは、信頼できるAIは共同の責任であると考えており、幅広いAIアプリケーションの開発を可能にするためのポリシーと実践を確立しています。当社のサービス利用規約に従ってダウンロードまたは使用する場合、開発者は自社のモデルチームと協力して、このモデルが関連する業界やユースケースの要件を満たし、予期しない製品の誤用に対応できるようにする必要があります。
セキュリティの脆弱性やNVIDIA AIに関する懸念事項は、こちらで報告してください。