模型简介
模型特点
模型能力
使用案例
🚀 EXAONE-Deep-32B GGUF模型
EXAONE-Deep-32B GGUF模型是LG AI Research开发并发布的一系列模型,在数学和编码等推理任务中表现出色。该模型提供了多种量化格式,可根据不同的硬件和内存需求进行选择,以实现高效的推理和应用。
🚀 快速开始
我们建议使用 transformers
v4.43.1 或更高版本。以下是使用该模型进行对话推理的代码示例:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
from threading import Thread
model_name = "LGAI-EXAONE/EXAONE-Deep-32B"
streaming = True # 选择流式输出选项
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
trust_remote_code=True,
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# 选择你的提示:
# 数学示例 (AIME 2024)
prompt = r"""Let $x,y$ and $z$ be positive real numbers that satisfy the following system of equations:
\[\log_2\left({x \over yz}\right) = {1 \over 2}\]\[\log_2\left({y \over xz}\right) = {1 \over 3}\]\[\log_2\left({z \over xy}\right) = {1 \over 4}\]
Then the value of $\left|\log_2(x^4y^3z^2)\right|$ is $\tfrac{m}{n}$ where $m$ and $n$ are relatively prime positive integers. Find $m+n$.
Please reason step by step, and put your final answer within \boxed{}."""
# 韩语多项选择题示例 (CSAT Math 2025)
prompt = r"""Question : $a_1 = 2$인 수열 $\{a_n\}$과 $b_1 = 2$인 등차수열 $\{b_n\}$이 모든 자연수 $n$에 대하여\[\sum_{k=1}^{n} \frac{a_k}{b_{k+1}} = \frac{1}{2} n^2\]을 만족시킬 때, $\sum_{k=1}^{5} a_k$의 값을 구하여라.
Options :
A) 120
B) 125
C) 130
D) 135
E) 140
Please reason step by step, and you should write the correct option alphabet (A, B, C, D or E) within \\boxed{}."""
messages = [
{"role": "user", "content": prompt}
]
input_ids = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt"
)
if streaming:
streamer = TextIteratorStreamer(tokenizer)
thread = Thread(target=model.generate, kwargs=dict(
input_ids=input_ids.to("cuda"),
eos_token_id=tokenizer.eos_token_id,
max_new_tokens=32768,
do_sample=True,
temperature=0.6,
top_p=0.95,
streamer=streamer
))
thread.start()
for text in streamer:
print(text, end="", flush=True)
else:
output = model.generate(
input_ids.to("cuda"),
eos_token_id=tokenizer.eos_token_id,
max_new_tokens=32768,
do_sample=True,
temperature=0.6,
top_p=0.95,
)
print(tokenizer.decode(output[0]))
⚠️ 重要提示
EXAONE Deep模型经过优化配置训练,建议遵循使用指南部分以实现最佳性能。
✨ 主要特性
超低比特量化与IQ-DynamicGate (1 - 2比特)
我们最新的量化方法为超低比特模型(1 - 2比特)引入了精度自适应量化,并在Llama - 3 - 8B上通过基准测试证明了其改进效果。这种方法采用特定层策略,在保持极高内存效率的同时保留准确性。
基准测试环境
所有测试均在Llama - 3 - 8B - Instruct上进行,使用以下配置:
- 标准困惑度评估管道
- 2048令牌上下文窗口
- 所有量化使用相同的提示集
关键改进
- 动态精度分配:
- 前/后25%的层 → IQ4_XS(选定层)
- 中间50% → IQ2_XXS/IQ3_S(提高效率)
- 关键组件保护:
- 嵌入/输出层使用Q5_K
- 与标准1 - 2比特量化相比,误差传播降低38%
量化性能比较(Llama - 3 - 8B)
量化方式 | 标准困惑度 | DynamicGate困惑度 | 困惑度变化 | 标准大小 | DG大小 | 大小变化 | 标准速度 | DG速度 |
---|---|---|---|---|---|---|---|---|
IQ2_XXS | 11.30 | 9.84 | -12.9% | 2.5G | 2.6G | +0.1G | 234s | 246s |
IQ2_XS | 11.72 | 11.63 | -0.8% | 2.7G | 2.8G | +0.1G | 242s | 246s |
IQ2_S | 14.31 | 9.02 | -36.9% | 2.7G | 2.9G | +0.2G | 238s | 244s |
IQ1_M | 27.46 | 15.41 | -43.9% | 2.2G | 2.5G | +0.3G | 206s | 212s |
IQ1_S | 53.07 | 32.00 | -39.7% | 2.1G | 2.4G | +0.3G | 184s | 209s |
关键说明:
- PPL = 困惑度(越低越好)
- Δ PPL = 从标准量化到DynamicGate量化的百分比变化
- 速度 = 推理时间(CPU avx2,2048令牌上下文)
- 大小差异反映了混合量化的开销
关键改进:
- 🔥 IQ1_M的困惑度大幅降低43.9%(从27.46降至15.41)
- 🚀 IQ2_S的困惑度降低36.9%,同时仅增加0.2GB
- ⚡ IQ1_S尽管采用1比特量化,但仍保持39.7%的更高准确性
权衡:
- 所有变体的大小都有适度增加(0.1 - 0.3GB)
- 推理速度相当(差异<5%)
使用场景
📌 将模型装入GPU显存 ✔ 内存受限的部署 ✔ 可以容忍1 - 2比特误差的CPU和边缘设备 ✔ 超低比特量化研究
选择合适的模型格式
选择正确的模型格式取决于你的硬件能力和内存限制。
BF16(脑浮点16)– 如果支持BF16加速则使用
- 一种16位浮点格式,专为更快的计算而设计,同时保留良好的精度。
- 提供与FP32 相似的动态范围,但内存使用更低。
- 如果你的硬件支持BF16加速(检查设备规格),建议使用。
- 与FP32相比,适用于高性能推理且内存占用减少。
📌 使用BF16的情况: ✔ 你的硬件具有原生BF16支持(例如,较新的GPU、TPU)。 ✔ 你希望在节省内存的同时获得更高的精度。 ✔ 你计划将模型重新量化为另一种格式。
📌 避免使用BF16的情况: ❌ 你的硬件不支持BF16(可能会回退到FP32并运行较慢)。 ❌ 你需要与缺乏BF16优化的旧设备兼容。
F16(浮点16)– 比BF16更广泛支持
- 一种16位浮点格式,精度较高,但值的范围比BF16小。
- 适用于大多数支持FP16加速的设备(包括许多GPU和一些CPU)。
- 数值精度略低于BF16,但通常足以进行推理。
📌 使用F16的情况: ✔ 你的硬件支持FP16但不支持BF16。 ✔ 你需要在速度、内存使用和准确性之间取得平衡。 ✔ 你在GPU或其他针对FP16计算优化的设备上运行。
📌 避免使用F16的情况: ❌ 你的设备缺乏原生FP16支持(可能运行比预期慢)。 ❌ 你有内存限制。
量化模型(Q4_K、Q6_K、Q8等)– 用于CPU和低显存推理
量化可以在尽可能保持准确性的同时减小模型大小和内存使用。
- 低比特模型(Q4_K) → 最适合最小内存使用,可能精度较低。
- 高比特模型(Q6_K、Q8_0) → 准确性更好,需要更多内存。
📌 使用量化模型的情况: ✔ 你在CPU上运行推理,需要优化的模型。 ✔ 你的设备显存较低,无法加载全精度模型。 ✔ 你希望在保持合理准确性的同时减少内存占用。
📌 避免使用量化模型的情况: ❌ 你需要最高准确性(全精度模型更适合)。 ❌ 你的硬件有足够的显存用于更高精度的格式(BF16/F16)。
极低比特量化(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0)
这些模型针对极端内存效率进行了优化,非常适合低功耗设备或大规模部署,其中内存是关键限制因素。
- IQ3_XS:超低比特量化(3比特),具有极端内存效率。
- 使用场景:最适合超低内存设备,即使Q4_K也太大。
- 权衡:与高比特量化相比,准确性较低。
- IQ3_S:小块大小,实现最大内存效率。
- 使用场景:最适合低内存设备,IQ3_XS过于激进。
- IQ3_M:中等块大小,比IQ3_S准确性更好。
- 使用场景:适用于低内存设备,IQ3_S限制太大。
- Q4_K:4比特量化,具有逐块优化以提高准确性。
- 使用场景:最适合低内存设备,Q6_K太大。
- Q4_0:纯4比特量化,针对ARM设备进行了优化。
- 使用场景:最适合基于ARM的设备或低内存环境。
模型格式选择总结表
模型格式 | 精度 | 内存使用 | 设备要求 | 最佳使用场景 |
---|---|---|---|---|
BF16 | 最高 | 高 | 支持BF16的GPU/CPU | 减少内存的高速推理 |
F16 | 高 | 高 | 支持FP16的设备 | BF16不可用时的GPU推理 |
Q4_K | 中低 | 低 | CPU或低显存设备 | 内存受限环境的最佳选择 |
Q6_K | 中 | 中等 | 内存更多的CPU | 量化时更好的准确性 |
Q8_0 | 高 | 中等 | 有足够显存的CPU或GPU | 量化模型中最佳准确性 |
IQ3_XS | 非常低 | 非常低 | 超低内存设备 | 极端内存效率和低准确性 |
Q4_0 | 低 | 低 | ARM或低内存设备 | llama.cpp可针对ARM设备优化 |
📦 安装指南
文档未提及具体安装步骤,可参考相关框架(如transformers
)的官方文档进行安装。
💻 使用示例
基础用法
# 以下是使用该模型进行对话推理的示例代码
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
from threading import Thread
model_name = "LGAI-EXAONE/EXAONE-Deep-32B"
streaming = True # 选择流式输出选项
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
trust_remote_code=True,
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# 选择你的提示:
# 数学示例 (AIME 2024)
prompt = r"""Let $x,y$ and $z$ be positive real numbers that satisfy the following system of equations:
\[\log_2\left({x \over yz}\right) = {1 \over 2}\]\[\log_2\left({y \over xz}\right) = {1 \over 3}\]\[\log_2\left({z \over xy}\right) = {1 \over 4}\]
Then the value of $\left|\log_2(x^4y^3z^2)\right|$ is $\tfrac{m}{n}$ where $m$ and $n$ are relatively prime positive integers. Find $m+n$.
Please reason step by step, and put your final answer within \boxed{}."""
# 韩语多项选择题示例 (CSAT Math 2025)
prompt = r"""Question : $a_1 = 2$인 수열 $\{a_n\}$과 $b_1 = 2$인 등차수열 $\{b_n\}$이 모든 자연수 $n$에 대하여\[\sum_{k=1}^{n} \frac{a_k}{b_{k+1}} = \frac{1}{2} n^2\]을 만족시킬 때, $\sum_{k=1}^{5} a_k$의 값을 구하여라.
Options :
A) 120
B) 125
C) 130
D) 135
E) 140
Please reason step by step, and you should write the correct option alphabet (A, B, C, D or E) within \\boxed{}."""
messages = [
{"role": "user", "content": prompt}
]
input_ids = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt"
)
if streaming:
streamer = TextIteratorStreamer(tokenizer)
thread = Thread(target=model.generate, kwargs=dict(
input_ids=input_ids.to("cuda"),
eos_token_id=tokenizer.eos_token_id,
max_new_tokens=32768,
do_sample=True,
temperature=0.6,
top_p=0.95,
streamer=streamer
))
thread.start()
for text in streamer:
print(text, end="", flush=True)
else:
output = model.generate(
input_ids.to("cuda"),
eos_token_id=tokenizer.eos_token_id,
max_new_tokens=32768,
do_sample=True,
temperature=0.6,
top_p=0.95,
)
print(tokenizer.decode(output[0]))
📚 详细文档
包含文件及详情
EXAONE-Deep-32B-bf16.gguf
- 模型权重以BF16保存。
- 如果你想将模型重新量化为不同格式,请使用此文件。
- 如果你的设备支持BF16加速,则为最佳选择。
EXAONE-Deep-32B-f16.gguf
- 模型权重以F16存储。
- 如果你的设备支持FP16,特别是BF16不可用时使用。
EXAONE-Deep-32B-bf16-q8_0.gguf
- 输出和嵌入保持为BF16。
- 所有其他层量化为Q8_0。
- 如果你的设备支持BF16,并且你想要量化版本,请使用。
EXAONE-Deep-32B-f16-q8_0.gguf
- 输出和嵌入保持为F16。
- 所有其他层量化为Q8_0。
EXAONE-Deep-32B-q4_k.gguf
- 输出和嵌入量化为Q8_0。
- 所有其他层量化为Q4_K。
- 适合内存有限的CPU推理。
EXAONE-Deep-32B-q4_k_s.gguf
- 最小的Q4_K变体,以准确性为代价使用更少的内存。
- 最适合极低内存设置。
EXAONE-Deep-32B-q6_k.gguf
- 输出和嵌入量化为Q8_0。
- 所有其他层量化为Q6_K。
EXAONE-Deep-32B-q8_0.gguf
- 完全Q8量化的模型,以获得更好的准确性。
- 需要更多内存,但提供更高的精度。
EXAONE-Deep-32B-iq3_xs.gguf
- IQ3_XS量化,针对极端内存效率进行了优化。
- 最适合超低内存设备。
EXAONE-Deep-32B-iq3_m.gguf
- IQ3_M量化,提供中等块大小以提高准确性。
- 适用于低内存设备。
EXAONE-Deep-32B-q4_0.gguf
- 纯Q4_0量化,针对ARM设备进行了优化。
- 最适合低内存环境。
- 为获得更好的准确性,优先选择IQ4_NL。
测试模型相关
如果你发现这些模型有用,请点赞 ❤。也非常感谢你能测试我的网络监控助手,点击👉 网络监控助手。
💬 点击聊天图标(主页和仪表盘页面右下角)。选择一个大语言模型;在大语言模型类型之间切换:TurboLLM -> FreeLLM -> TestLLM。
正在测试的内容
我正在针对我的网络监控服务进行函数调用实验。使用小型开源模型。我关注的问题是“模型可以多小还能正常工作”。
🟡 TestLLM – 使用llama.cpp在CPU虚拟机的6个线程上运行当前测试模型(加载大约需要15秒。推理速度相当慢,并且一次只处理一个用户提示 — 仍在努力扩展!)。如果你好奇,我很乐意分享它的工作原理!
其他可用的AI助手
🟢 TurboLLM – 使用gpt - 4o - mini,速度快!注意:由于OpenAI模型价格昂贵,令牌有限,但你可以登录或下载免费的网络监控代理以获取更多令牌,或者使用TestLLM。
🔵 HugLLM – 运行开源Hugging Face模型,速度快,运行小型模型(≈8B),因此质量较低,可获得2倍更多令牌(取决于Hugging Face API可用性)
模型介绍
我们推出了EXAONE Deep,它在包括数学和编码基准测试在内的各种推理任务中表现出卓越的能力,参数范围从2.4B到32B,由LG AI Research开发并发布。评估结果显示:1) EXAONE Deep 2.4B优于其他同等规模的模型;2) EXAONE Deep 7.8B不仅优于同等规模的开放权重模型,还优于专有推理模型OpenAI o1 - mini;3) EXAONE Deep 32B与领先的开放权重模型相比具有竞争力。
该仓库包含32B推理语言模型,具有以下特点:
属性 | 详情 |
---|---|
模型类型 | 推理语言模型 |
参数数量(不包括嵌入) | 30.95B |
层数 | 64 |
注意力头数量 | GQA,40个查询头和8个键值头 |
词汇表大小 | 102,400 |
上下文长度 | 32,768令牌 |
评估
以下表格显示了数学和编码等推理任务的评估结果。完整评估结果可在文档中找到。
模型 | MATH - 500 (pass@1) | AIME 2024 (pass@1 / cons@64) | AIME 2025 (pass@1 / cons@64) | CSAT Math 2025 (pass@1) | GPQA Diamond (pass@1) | Live Code Bench (pass@1) |
---|---|---|---|---|---|---|
EXAONE Deep 32B | 95.7 | 72.1 / 90.0 | 65.8 / 80.0 | 94.5 | 66.1 | 59.5 |
DeepSeek - R1 - Distill - Qwen - 32B | 94.3 | 72.6 / 83.3 | 55.2 / 73.3 | 84.1 | 62.1 | 57.2 |
QwQ - 32B | 95.5 | 79.5 / 86.7 | 67.1 / 76.7 | 94.4 | 63.3 | 63.4 |
DeepSeek - R1 - Distill - Llama - 70B | 94.5 | 70.0 / 86.7 | 53.9 / 66.7 | 88.8 | 65.2 | 57.5 |
DeepSeek - R1 (671B) | 97.3 | 79.8 / 86.7 | 66.8 / 80.0 | 89.9 | 71.5 | 65.9 |
EXAONE Deep 7.8B | 94.8 | 70.0 / 83.3 | 59.6 / 76.7 | 89.9 | 62.6 | 55.2 |
DeepSeek - R1 - Distill - Qwen - 7B | 92.8 | 55.5 / 83.3 | 38.5 / 56.7 | 79.7 | 49.1 | 37.6 |
DeepSeek - R1 - Distill - Llama - 8B | 89.1 | 50.4 / 80.0 | 33.6 / 53.3 | 74.1 | 49.0 | 39.6 |
OpenAI o1 - mini | 90.0 | 63.6 / 80.0 | 54.8 / 66.7 | 84.4 | 60.0 | 53.8 |
EXAONE Deep 2.4B | 92.3 | 52.5 / 76.7 | 47.9 / 73.3 | 79.2 | 54.3 | 46.6 |
DeepSeek - R1 - Distill - Qwen - 1.5B | 83.9 | 28.9 / 52.7 | 23.9 / 36.7 | 65.6 | 33.8 | 16.9 |
部署
EXAONE Deep模型可以在各种框架中进行推理,例如:
TensorRT - LLM
vLLM
SGLang
llama.cpp
Ollama
LM - Studio
有关推理框架的更多详细信息,请参考我们的EXAONE Deep GitHub。
量化
我们提供了使用AWQ预量化的EXAONE Deep模型,以及几种GGUF格式的量化类型。请参考我们的EXAONE Deep集合以找到相应的量化模型。
使用指南
为了实现预期的性能,我们建议使用以下配置:
- 确保模型以
<thought>\n
开始进行推理步骤。省略它可能会降低模型的输出质量。你可以通过使用tokenizer.apply_chat_template()
并设置add_generation_prompt=True
轻松应用此功能。请查看快速开始部分的示例代码。 - EXAONE Deep模型的推理步骤通常包含在
<thought>\n...\n</thought>
中,包含大量令牌,因此在多轮对话中可能需要删除之前的推理步骤。提供的分词器会自动处理此问题。 - 避免使用系统提示,在用户提示中构建指令。
- 额外的指令有助于模型更深入地推理,从而生成更好的输出。
- 对于数学问题,指令**"请逐步推理,并将最终答案放在\boxed{}中。"** 很有帮助。
- 有关我们评估设置(包括提示)的更多信息,请参考我们的文档。
- 在我们的评估中,我们使用
temperature = 0.6
和top_p = 0.95
进行生成。 - 评估模型时,建议多次测试以准确评估预期性能。
局限性
EXAONE语言模型有一定的局限性,偶尔可能会生成不适当的响应。语言模型根据令牌的输出概率生成响应,这是在从训练数据学习过程中确定的。虽然我们已尽力从训练数据中排除个人、有害和有偏见的信息,但仍可能包含一些有问题的内容,可能导致不良响应。请注意,EXAONE语言模型生成的文本并不反映LG AI Research的观点。
- 可能会生成不适当的答案,包含个人、有害或其他不适当的信息。
- 可能会生成有偏见的响应,与年龄、性别、种族等相关。
- 生成的响应严重依赖于训练数据的统计信息,可能导致生成语义或语法错误的句子。
- 由于模型不反映最新信息,响应可能是错误或矛盾的。
LG AI Research努力减少EXAONE语言模型可能带来的潜在风险。用户在使用EXAONE语言模型时,不得进行任何可能诱导生成违反LG AI道德原则的不适当输出的恶意活动(例如,输入非法信息)。
🔧 技术细节
文档未提供详细的技术实现细节。
📄 许可证
该模型遵循EXAONE AI模型许可协议1.1 - 非商业版。
引用
@article{exaone-deep,
title={EXAONE Deep: Reasoning Enhanced Language Models},
author={{LG AI Research}},
journal={arXiv preprint arXiv:2503.12524},
year={2025}
}
联系我们
LG AI Research技术支持:contact_us@lgresearch.ai



