Model reference · open weights
A.X-4.0-Light is an open-weight language model from skt. A.X-4.0-Light (BF16) weighs 14.5 GB; the smallest configuration that runs it is 2× RTX 3060 12 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the skt/A.X-4.0-Light model card, 2026-10-01
What it is
| Released by | skt |
|---|---|
| Released | 2025-07-02 |
| Parameters | 7.3B |
| VRAM | 14.5 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory |
|---|---|---|---|
| 8K each | |||
| RTX 3060 12 GB | 11.6 GB | ||
| RTX 4060 Ti 16 GB | 2K | 15.4 GB | |
| RTX 3090 24 GB | 17 | all 16K | 23.4 GB |
| RTX 4090 24 GB | 17 | all 16K | 23.4 GB |
| RTX 5090 32 GB | 33 | all 16K | 31.0 GB |
| L40S 48 GB | 61 | all 16K | 44.0 GB |
| A100 80 GB | 133 | all 16K | 78.2 GB |
| H100 80 GB | 125 | all 16K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 158 | all 16K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 187 | all 16K | 107 GB |
| H200 141 GB | 252 | all 16K | 138 GB |
| B200 180 GB | 332 | all 16K | 176 GB |
| 2× RTX 3060 12 GB tensor parallel | 15 | all 16K | 11.6 GB a card |
| 2× RTX 4060 Ti 16 GB tensor parallel | 31 | all 16K | 15.4 GB a card |
| Requests at once | 8K tokens each |
|---|---|
| 1 | 15.7 GB |
| 5 | 17.6 GB |
| 8 | 19.0 GB |
| 16 | 22.8 GB |
| 32 | 30.3 GB |
| 64 | 45.3 GB |
One card, with vLLM's small-card settings.
From the model card
SK Telecom released A.X 4.0 (pronounced "A dot X"), a large language model (LLM) optimized for Korean-language understanding and enterprise deployment, on July 03, 2025. Built on the open-source Qwen2.5 model, A.X 4.0 has been further trained with large-scale Korean datasets to deliver outstanding performance in real-world business environments.
transformers>=4.46.0 or the latest version is required to use skt/A.X-4.0-Lightpip install transformers>=4.46.0
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "skt/A.X-4.0-Light"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto",
)
model.eval()
tokenizer = AutoTokenizer.from_pretrained(model_name)
messages = [
{"role": "system", "content": "당신은 사용자가 제공하는 영어 문장들을 한국어로 번역하는 AI 전문가입니다."},
{"role": "user", "content": "The first human went into space and orbited the Earth on April 12, 1961."},
]
input_ids = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
with torch.no_grad():
output = model.generate(
input_ids,
max_new_tokens=128,
do_sample=False,
)
len_input_prompt = len(input_ids[0])
response = tokenizer.decode(output[0][len_input_prompt:], skip_special_tokens=True)
print(response)
# Output:
# 1961년 4월 12일, 최초의 인간이 우주로 나가 지구를 공전했습니다.
vllm>=v0.6.4.post1 or the latest version is required to use tool-use functionpip install vllm>=v0.6.4.post1
# if you don't want to activate tool-use function, just commenting out below vLLM option
VLLM_OPTION="--enable-auto-tool-choice --tool-call-parser hermes"
vllm serve skt/A.X-4.0-Light $VLLM_OPTION
from openai import OpenAI
def call(messages, model):
completion = client.chat.completions.create(
model=model,
messages=messages,
)
print(completion.choices[0].message)
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="api_key"
)
model = "skt/A.X-4.0-Light"
messages = [{"role": "user", "content": "에어컨 여름철 적정 온도는? 한줄로 답변해줘"}]
call(messages, model)
# Output:
# ChatCompletionMessage(content='여름철 적정 에어컨 온도는 일반적으로 24-26도입니다.', refusal=None, role='assistant', audio=None, function_call=None, tool_calls=[], reasoning_content=None)
messages = [{"role": "user", "content": "What is the appropriate temperature for air conditioning in summer? Response in a single sentence."}]
call(messages, model)
# Output:
# ChatCompletionMessage(content='The appropriate temperature for air conditioning in summer generally ranges from 72°F to 78°F (22°C to 26°C) for comfort and energy efficiency.', refusal=None, role='assistant', audio=None, function_call=None, tool_calls=[], reasoning_content=None)
from openai import OpenAI
def call(messages, model):
completion = client.chat.completions.create(
model=model,
messages=messages,
tools=tools
)
print(completion.choices[0].message)
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="api_key"
)
model = "skt/A.X-4.0-Light"
calculate_discount = {
"type": "function",
"function": {
"name": "calculate_discount",
"description": "원가격과 할인율(퍼센트 단위)을 입력받아 할인된 가격을계산한다.",
"parameters": {
"type": "object",
"properties": {
"original_price": {
"type": "number",
"description": "상품의 원래 가격"
},
"discount_percentage": {
"type": "number",
"description": "적용할 할인율(예: 20% 할인의 경우 20을 입력)"
}
},
"required": ["original_price", "discount_percentage"]
}
}
}
get_exchange_rate = {
"type": "function",
"function": {
"name": "get_exchange_rate",
"description": "두 통화 간의 환율을 가져온다.",
"parameters": {
"type": "object",
"properties": {
"base_currency": {
"type": "string",
"description": "The currency to convert from."
},
"target_currency": {
"type": "string",
"description": "The currency to convert to."
}
},
"required": ["base_currency", "target_currency"]
}
}
}
tools = [calculate_discount, get_exchange_rate]
### Slot filling ###
messages = [{"role": "user", "content": "우리가 뭘 사야되는데 원래 57600원인데 직원할인 받을 수 있거든? 할인가좀 계산해줘"}]
call(messages, model)
# Output:
# ChatCompletionMessage(content='할인율을 알려주시겠습니까?', refusal=None, role='assistant', audio=None, function_call=None, tool_calls=[],Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
Benchmarks
As published on the model card: the maker's own numbers, not measured by AxForge.
| Task | Dataset | Metric | Score |
|---|---|---|---|
| mmlu | mmlu (chat CoT) | exact_match | 75.430 |
| kmmlu | kmmlu (chat CoT) | exact_match | 64.150 |