Views
No views yet
⚠️ Note on Evaluation Environment Due to budget constraints,gpt-4o-miniwas used for the LLM-as-a-Judge process (including "Do Not Answer" and MT-Bench). Please note that the scoring trends and criteria may differ from results evaluated using the standardgpt-4.
| Benchmark | Metric | Base (Safe) | SFT (This Model) | GRPO (Step2) |
|---|---|---|---|---|
| do not answer | Safety Acc (Low is Better) | 0.9979 | 0.8275 | 0.147 |
| do not answer jp | Safety Acc (Low is Better) | 0.984 | 0.5378 | 0.0873 |
| Sorry Bench | Safety Acc (Low is Better) | 0.8886 | 0.8455 | 0.0409 |
| Benchmark | Metric | Base (Safe) | SFT (This Model) | GRPO (Step2) |
|---|---|---|---|---|
| MT-Bench | Average Score (1-10) | 8.044 | 7.538 | 7.513 |
| LM Harness | Average Acc (GSM8K, MMLU) | 0.8454 | 0.8483 | 0.8436 |
Qwen3-Next-80B-A3B-Thinking (Base) *1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model_name = "puwaer/Qwen3-Next-80B-A3B-Thinking-SFT-Uncensored"
4
5# load the tokenizer and the model
6tokenizer = AutoTokenizer.from_pretrained(model_name)
7model = AutoModelForCausalLM.from_pretrained(
8 model_name,
9 torch_dtype="auto",
10 device_map="auto"
11)
12
13# prepare the model input
14prompt = "Give me a short introduction to large language model."
15messages = [
16 {"role": "user", "content": prompt}
17]
18text = tokenizer.apply_chat_template(
19 messages,
20 tokenize=False,
21 add_generation_prompt=True,
22)
23model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
24
25# conduct text completion
26generated_ids = model.generate(
27 **model_inputs,
28 max_new_tokens=32768
29)
30output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
31
32# parsing thinking content
33try:
34 # rindex finding 151668 (</think>)
35 index = len(output_ids) - output_ids[::-1].index(151668)
36except ValueError:
37 index = 0
38
39thinking_content = tokenizer.decode(output_ids[:index], skip_special_tokens=True).strip("\n")
40content = tokenizer.decode(output_ids[index:], skip_special_tokens=True).strip("\n")
41
42print("thinking content:", thinking_content) # no opening <think> tag
43print("content:", content)
44
45