Версия кодовой базы
7c56310
Precision весов модели
bfloat16
Версия transformers
4.56.1
Количество GPU и их тип
4 x NVIDIA A100-SXM4-80GB
Архитектура
local-chat-completions
Название ML-модели:
Qwen3-32B
Дополнительные ссылки:
https://arxiv.org/abs/2505.09388
Описание архитектуры:
Qwen3-32B is a decoder-only transformer language model from the Qwen3 family with approximately 32 billion parameters. The model is designed for general language understanding and generation tasks, with strong capabilities in reasoning, coding, and multilingual tasks. It supports long-context inputs and improved efficiency compared to previous Qwen models.
Описание обучения:
The model is trained using a multi-stage pipeline consisting of large-scale pretraining followed by post-training. The post-training stage includes instruction tuning and alignment techniques to improve instruction following, reasoning ability, and response quality.
Данные претрейна:
The model was pretrained on a large multilingual corpus of approximately 36 trillion tokens covering 119 languages. It was further post-trained on instruction-following and reasoning-oriented datasets to improve instruction following and reasoning performance.
Лицензия:
Apache License 2.0
Параметры инференса
Параметры генерации:
agro_bench - do_sample=false;until=["<|im_end|>"];max_gen_toks=10000;
\naqua_bench - do_sample=false;until=["<|im_end|>"];max_gen_toks=10000;
\nmed_bench - do_sample=false;until=["<|im_end|>"];max_gen_toks=10000;
Описание темплейта:
{%- if tools %} {{- '<|im_start|>system
\n' }} {%- if messages[0].role == 'system' %} {{- messages[0].content + '
\n
\n' }} {%- endif %} {{- "# Tools
\n
\nYou may call one or more functions to assist with the user query.
\n
\nYou are provided with function signatures within <tools></tools> XML tags:
\n<tools>" }} {%- for tool in tools %} {{- "
\n" }} {{- tool | tojson }} {%- endfor %} {{- "
\n</tools>
\n
\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:
\n<tool_call>
\n{"name": <function-name>, "arguments": <args-json-object>}
\n</tool_call><|im_end|>
\n" }} {%- else %} {%- if messages[0].role == 'system' %} {{- '<|im_start|>system
\n' + messages[0].content + '<|im_end|>
\n' }} {%- endif %} {%- endif %} {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %} {%- for message in messages[::-1] %} {%- set index = (messages|length - 1) - loop.index0 %} {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %} {%- set ns.multi_step_tool = false %} {%- set ns.last_query_index = index %} {%- endif %} {%- endfor %} {%- for message in messages %} {%- if message.content is string %} {%- set content = message.content %} {%- else %} {%- set content = '' %} {%- endif %} {%- if (message.role == "user") or (message.role == "system" and not loop.first) %} {{- '<|im_start|>' + message.role + '
\n' + content + '<|im_end|>' + '
\n' }} {%- elif message.role == "assistant" %} {%- set reasoning_content = '' %} {%- if message.reasoning_content is string %} {%- set reasoning_content = message.reasoning_content %} {%- else %} {%- if '</think>' in content %} {%- set reasoning_content = content.split('</think>')[0].rstrip('
\n').split('<think>')[-1].lstrip('
\n') %} {%- set content = content.split('</think>')[-1].lstrip('
\n') %} {%- endif %} {%- endif %} {%- if loop.index0 > ns.last_query_index %} {%- if loop.last or (not loop.last and reasoning_content) %} {{- '<|im_start|>' + message.role + '
\n<think>
\n' + reasoning_content.strip('
\n') + '
\n</think>
\n
\n' + content.lstrip('
\n') }} {%- else %} {{- '<|im_start|>' + message.role + '
\n' + content }} {%- endif %} {%- else %} {{- '<|im_start|>' + message.role + '
\n' + content }} {%- endif %} {%- if message.tool_calls %} {%- for tool_call in message.tool_calls %} {%- if (loop.first and content) or (not loop.first) %} {{- '
\n' }} {%- endif %} {%- if tool_call.function %} {%- set tool_call = tool_call.function %} {%- endif %} {{- '<tool_call>
\n{"name": "' }} {{- tool_call.name }} {{- '", "arguments": ' }} {%- if tool_call.arguments is string %} {{- tool_call.arguments }} {%- else %} {{- tool_call.arguments | tojson }} {%- endif %} {{- '}
\n</tool_call>' }} {%- endfor %} {%- endif %} {{- '<|im_end|>
\n' }} {%- elif message.role == "tool" %} {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %} {{- '<|im_start|>user' }} {%- endif %} {{- '
\n<tool_response>
\n' }} {{- content }} {{- '
\n</tool_response>' }} {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %} {{- '<|im_end|>
\n' }} {%- endif %} {%- endif %} {%- endfor %} {%- if add_generation_prompt %} {{- '<|im_start|>assistant
\n' }} {%- if enable_thinking is defined and enable_thinking is false %} {{- '<think>
\n
\n</think>
\n
\n' }} {%- endif %} {%- endif %}