Views
No views yet

| Model | # Params | # Layers | # KV-Heads | Hidden Dim | FFN Dim |
|---|---|---|---|---|---|
| A.X 3.1 | 34B | 48 | 8 | 8192 | 21824 |
| A.X 3.1 | EXAONE-3.5-32B | Kanana-flag-32.5B | Gemma-3-27B | Qwen2.5-32B | ||
|---|---|---|---|---|---|---|
| Knowledge | KMMLU | 69.73 | 57.17 | 64.19* | 59.45 | 61.93 |
| KMMLU-pro | 54.89 | 45.39 | - | 50.43 | 52.34 | |
| KMMLU-redux | 62.66 | 48.32 | - | 54.85 | 52.15 | |
| Click (chat CoT) | 77.09 | 69.42 | - | 71.03 | 68.17 | |
| MMLU | 75.20 | 77.1 | 81.08* | 82.35 | 83.4 | |
| General | Ko-MT-bench | 83.06 | 80.19 | 80.58* | 85.5 | 72.88 |
| MT-bench | 84.19 | 85.09 | 83.56* | 84.38 | 87.31 | |
| IF | Ko-IFEval | 75.29 | 68.67 | - | 74.4 | 73.24 |
| IFEval | 87.11 | 82.67 | 85.6* | 82.45 | 82.27 | |
| Math | HRM8K | 45.53 | 36.3 | - | 48 | 41.29 |
| MATH | 75.40 | 61.64 | 57.82* | 80.72 | 73.26 | |
| Code | HumanEval+ | 75.00 | 77.44 | 77.44* | 78.66 | 82.32 |
| MBPP+ | 70.90 | 65.87 | 69.84* | 74.07 | 73.81 | |
| LiveCodeBench | 23.34 | 17.2 | - | 30.55 | 26.9 |
| Benchmarks | A.X 3.1 Light | Kanana-1.5-8B | EXAONE-3.5-7.8B | Qwen2.5-7B | Qwen3-8B (w/o reasoning) | |
|---|---|---|---|---|---|---|
| Knowledge | KMMLU | 61.70 | 48.28 | 53.76 | 49.56 | 63.53 |
| KMMLU-pro | 45.54 | 37.63 | 40.11 | 38.87 | 50.71 | |
| KMMLU-redux | 52.34 | 35.33 | 42.21 | 38.58 | 55.74 | |
| CLIcK | 71.22 | 61.30 | 64.11 | 58.30 | 63.31 | |
| KoBALT | 27.43 | 23.14 | 21.71 | 21.57 | 26.57 | |
| MMLU | 66.95 | 68.82 | 72.20 | 75.40 | 82.89 | |
| General | Ko-MT-Bench | 78.56 | 76.30 | 81.06 | 61.31 | 64.06 |
| MT-Bench | 74.38 | 77.60 | 83.50 | 79.37 | 65.69 | |
| Instruction Following | Ko-IFEval | 70.04 | 69.96 | 65.01 | 60.73 | 73.39 |
| IFEval | 79.86 | 80.11 | 82.61 | 76.73 | 85.38 | |
| Math | HRM8K | 41.70 | 30.87 | 31.88 | 35.13 | 52.50 |
| MATH | 70.14 | 59.28 | 63.20 | 65.58 | 71.48 | |
| Code | HumanEval+ | 73.78 | 76.83 | 76.83 | 74.39 | 77.44 |
| MBPP+ | 61.64 | 67.99 | 64.29 | 68.50 | 62.17 |
transformers>=4.46.0 or the latest version is required to use skt/A.X-3.1pip install transformers>=4.46.01import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4model_name = "skt/A.X-3.1"
5model = AutoModelForCausalLM.from_pretrained(
6 model_name,
7 torch_dtype=torch.bfloat16,
8 device_map="auto",
9)
10model.eval()
11tokenizer = AutoTokenizer.from_pretrained(model_name)
12
13messages = [
14 {"role": "system", "content": "당신은 사용자가 제공하는 영어 문장들을 한국어로 번역하는 AI 전문가입니다."},
15 {"role": "user", "content": "The first human went into space and orbited the Earth on April 12, 1961."},
16]
17input_ids = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
18
19with torch.no_grad():
20 output = model.generate(
21 input_ids,
22 max_new_tokens=128,
23 do_sample=False,
24 )
25
26len_input_prompt = len(input_ids[0])
27response = tokenizer.decode(output[0][len_input_prompt:], skip_special_tokens=True)
28print(response)
29# Output:
30# 우주에서 인간이 처음으로 지구 궤도를 돈 날은 1961년 4월 12일입니다.vllm>=v0.6.4.post1 or the latest version is required to use tool-use feature1pip install vllm>=v0.6.4.post1
2# if you don't want to activate tool-use feature, just commenting out below vLLM option
3VLLM_OPTION="--enable-auto-tool-choice --tool-call-parser hermes"
4vllm serve skt/A.X-3.1 $VLLM_OPTION1from openai import OpenAI
2
3def call(messages, model):
4 completion = client.chat.completions.create(
5 model=model,
6 messages=messages,
7 )
8 print(completion.choices[0].message)
9
10client = OpenAI(
11 base_url="http://localhost:8000/v1",
12 api_key="api_key"
13)
14model = "skt/A.X-3.1"
15messages = [{"role": "user", "content": "에어컨 여름철 적정 온도는? 한줄로 답변해줘"}]
16call(messages, model)
17# Output:
18# 여름철 에어컨 적정 온도는 24~26도입니다.
19
20messages = [{"role": "user", "content": "What is the appropriate temperature for air conditioning in summer? Respond in a single sentence."}]
21call(messages, model)
22# Output:
23# The appropriate temperature for air conditioning in summer is around 78°F (26°C).1from openai import OpenAI
2
3
4def call(messages, model):
5 completion = client.chat.completions.create(
6 model=model,
7 messages=messages,
8 tools=tools
9 )
10 print(completion.choices[0].message)
11
12
13client = OpenAI(
14 base_url="http://localhost:8000/v1",
15 api_key="api_key"
16)
17model = "skt/A.X-3.1"
18
19calculate_discount = {
20 "type": "function",
21 "function": {
22 "name": "calculate_discount",
23 "description": "원가격과 할인율(퍼센트 단위)을 입력받아 할인된 가격을계산한다.",
24 "parameters": {
25 "type": "object",
26 "properties": {
27 "original_price": {
28 "type": "number",
29 "description": "상품의 원래 가격"
30 },
31 "discount_percentage": {
32 "type": "number",
33 "description": "적용할 할인율"
34 }
35 },
36 "required": ["original_price", "discount_percentage"]
37 }
38 }
39}
40get_exchange_rate = {
41 "type": "function",
42 "function": {
43 "name": "get_exchange_rate",
44 "description": "두 통화 간의 환율을 가져온다.",
45 "parameters": {
46 "type": "object",
47 "properties": {
48 "base_currency": {
49 "type": "string",
50 "description": "The currency to convert from."
51 },
52 "target_currency": {
53 "type": "string",
54 "description": "The currency to convert to."
55 }
56 },
57 "required": ["base_currency", "target_currency"]
58 }
59 }
60}
61tools = [calculate_discount, get_exchange_rate]
62
63### Slot filling ###
64messages = [{"role": "user", "content": "우리가 뭘 사야되는데 원가가 57600원인데 직원할인 받으면 얼마야?"}]
65call(messages, model)
66# Output:
67# ChatCompletionMessage(content='직원 할인율이 몇 퍼센트인지 알려주신다면 할인된 가격을 계산할 수 있습니다. 할인율이 몇 퍼센트인지 알려주실 수 있나요?', role='assistant', tool_calls=[])
68
69
70### Function calling ###
71messages = [
72 {"role": "user", "content": "우리가 뭘 사야되는데 원가가 57600원인데 직원할인 받으면 얼마야?"},
73 {"role": "assistant", "content": "직원 할인율이 몇 퍼센트인지 알려주신다면 할인된 가격을 계산할 수 있습니다. 할인율이 몇 퍼센트인지 알려주실 수 있나요?"},
74 {"role": "user", "content": "15% 할인 받을 수 있어."},
75]
76call(messages, model)
77# Output:
78# ChatCompletionMessage(content=None, role='assistant', tool_calls=[ChatCompletionMessageToolCall(id='chatcmpl-tool-cb9e827f752d4725abc94377223b2b0f', function=Function(arguments='{"original_price": 57600, "discount_percentage": 15}', name='calculate_discount'), type='function')])
79
80
81### Completion ###
82messages = [
83 {"role": "user", "content": "우리가 뭘 사야되는데 원가가 57600원인데 직원할인 받으면 얼마야?"},
84 {"role": "assistant", "content": "직원 할인율이 몇 퍼센트인지 알려주신다면 할인된 가격을 계산할 수 있습니다. 할인율이 몇 퍼센트인지 알려주실 수 있나요?"},
85 {"role": "user", "content": "15% 할인 받을 수 있어."},
86 {"role": "tool", "tool_call_id": "random_id", "name": "calculate_discount", "content": "{\"original_price\": 57600, \"discount_percentage\": 15, \"discounted_price\": 48960.0}"}
87]
88call(messages, model)
89# Output:
90# ChatCompletionMessage(content='직원 할인을 받으면 57600원의 상품은 15% 할인을 받아 48960원이 됩니다.', role='assistant', tool_calls=[])config.json file of A.X 3.1 uploaded to HuggingFace is configured for maximum token lengths of 32,768. You can simply handle up to 131,072 tokens by modifying rope_scaling field in config.json file into the following parameters:"rope_scaling": {
"type": "yarn",
"factor": 4.0,
"original_max_position_embeddings": 32768,
},A.X 3.1 model is licensed under Apache License 2.0.@article{SKTAdotX3.1,
title={A.X 3.1},
author={SKT AI Model Lab},
year={2025},
url={https://huggingface.co/skt/A.X-3.1}
}