orucexe commited on
Commit
5b94f6b
·
verified ·
1 Parent(s): 4703c8e

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +68 -0
README.md ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ pretty_name: Qwen3-8B Algorithmic Code Analyzer
3
+ base_model: Qwen/Qwen3-8B
4
+ base_model_relation: finetune
5
+ library_name: transformers
6
+ pipeline_tag: text-generation
7
+ language:
8
+ - en
9
+ tags:
10
+ - competitive-programming
11
+ - cpp
12
+ - algorithm-explanation
13
+ - code-understanding
14
+ - lora
15
+ - experimental
16
+ - codeforces
17
+ - leetcode
18
+ datasets:
19
+ - orucexe/algorithmic-code-understanding
20
+ license: apache-2.0
21
+ ---
22
+
23
+ # Qwen3-8B Algorithmic Code Analyzer
24
+
25
+ Experimental Qwen3-8B fine-tune for exploring **C++ code explanations, algorithm ideas, invariants, complexity and explanation checking**.
26
+ Trained on 3,613 [problem → code + analysis examples](https://huggingface.co/datasets/orucexe/algorithmic-code-understanding); supplied-code analysis is an exploratory use.
27
+
28
+ ## Usage
29
+
30
+ ```bash
31
+ pip install "transformers>=4.51,<5" accelerate torch
32
+ ```
33
+
34
+ ```python
35
+ import torch
36
+ from transformers import AutoTokenizer, AutoModelForCausalLM
37
+
38
+ repo = "orucexe/Qwen3-8B-Algorithmic-Code-Analyzer"
39
+ tokenizer = AutoTokenizer.from_pretrained(repo)
40
+ model = AutoModelForCausalLM.from_pretrained(
41
+ repo, torch_dtype="auto", device_map="auto"
42
+ ).eval()
43
+
44
+ prompt = """Explain what this C++ code computes, its core idea,
45
+ loop invariant, time and auxiliary-space complexity, and edge cases.
46
+ Do not rewrite the code.
47
+
48
+ long long sum(const std::vector<int>& a) {
49
+ long long s = 0;
50
+ for (int x : a) s += x;
51
+ return s;
52
+ }
53
+ """
54
+ inputs = tokenizer.apply_chat_template(
55
+ [{"role": "user", "content": prompt}],
56
+ add_generation_prompt=True, enable_thinking=False,
57
+ return_dict=True, return_tensors="pt"
58
+ ).to(model.device)
59
+ with torch.inference_mode():
60
+ output = model.generate(
61
+ **inputs, max_new_tokens=1024, do_sample=True,
62
+ temperature=0.7, top_p=0.8, top_k=20,
63
+ pad_token_id=tokenizer.eos_token_id
64
+ )
65
+ print(tokenizer.decode(output[0, inputs.input_ids.shape[1]:], skip_special_tokens=True))
66
+ ```
67
+
68
+ For thinking mode, set `enable_thinking=True`, `temperature=0.6`, `top_p=0.95` ([Qwen guidance](https://huggingface.co/Qwen/Qwen3-8B#best-practices)).