Vilyam888 commited on
Commit
ad9d88f
·
verified ·
1 Parent(s): 9d7f0ce

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +175 -123
README.md CHANGED
@@ -1,123 +1,175 @@
1
- ---
2
- library_name: transformers
3
- license: apache-2.0
4
- base_model: Qwen/Qwen2.5-Coder-3B-Instruct
5
- pipeline_tag: text-generation
6
- tags:
7
- - code
8
- - code-analysis
9
- - qwen
10
- - qwen2
11
- - text-generation
12
- - transformers
13
- - fine-tuned
14
- ---
15
-
16
- # Code Analyzer Model
17
-
18
- Fine-tuned версия модели Qwen2.5-Coder-3B-Instruct для анализа кода и ответов на вопросы о программировании.
19
-
20
- ## Описание модели
21
-
22
- Эта модель предназначена для оцекнивания кода и выявления слабых и сильных мест в решении связанные с программированием. Модель основана на Qwen2.5-Coder-3B-Instruct и дообучена с использованием LoRA (Low-Rank Adaptation).
23
-
24
- ## Быстрый старт
25
-
26
- Вы можете использовать эту модель прямо в интерфейсе Hugging Face с помощью кнопки "Use this model" или загрузить локально.
27
-
28
- ## Использование
29
-
30
- ### С помощью transformers
31
-
32
- ```python
33
- from transformers import AutoModelForCausalLM, AutoTokenizer
34
- import torch
35
-
36
- model_name = "Vilyam888/Code_analyze.1.0"
37
-
38
- tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
39
- model = AutoModelForCausalLM.from_pretrained(
40
- model_name,
41
- torch_dtype=torch.bfloat16,
42
- device_map="auto",
43
- trust_remote_code=True
44
- )
45
-
46
- # Формат запроса
47
- prompt = "Проанализируй этот код:\ndef hello():\n print('Hello, World!')"
48
-
49
- # Форматирование в стиле обучения
50
- text = f"{prompt}\n\nОтвет:\n"
51
-
52
- inputs = tokenizer(text, return_tensors="pt").to(model.device)
53
-
54
- with torch.no_grad():
55
- outputs = model.generate(
56
- **inputs,
57
- max_new_tokens=512,
58
- temperature=0.7,
59
- top_p=0.8,
60
- top_k=20,
61
- repetition_penalty=1.05,
62
- do_sample=True
63
- )
64
-
65
- response = tokenizer.decode(outputs[0], skip_special_tokens=True)
66
- print(response)
67
- ```
68
-
69
- ### С помощью pipeline
70
-
71
- ```python
72
- from transformers import pipeline
73
-
74
- model_name = "Vilyam888/Code_analyze.1.0"
75
-
76
- generator = pipeline(
77
- "text-generation",
78
- model=model_name,
79
- tokenizer=model_name,
80
- trust_remote_code=True,
81
- device_map="auto"
82
- )
83
-
84
- prompt = "Объясни, что делает этот код:\ndef factorial(n):\n if n <= 1:\n return 1\n return n * factorial(n-1)"
85
- text = f"{prompt}\n\nОтвет:\n"
86
-
87
- result = generator(
88
- text,
89
- max_new_tokens=512,
90
- temperature=0.7,
91
- top_p=0.8,
92
- top_k=20,
93
- repetition_penalty=1.05,
94
- do_sample=True
95
- )
96
-
97
- print(result[0]["generated_text"])
98
- ```
99
-
100
- ## Детали обучения
101
-
102
- - **Базовая модель:** Qwen/Qwen2.5-Coder-3B-Instruct
103
- - **Метод обучения:** LoRA (Low-Rank Adaptation)
104
- - **Параметры LoRA:**
105
- - `r`: 16
106
- - `lora_alpha`: 32
107
- - `lora_dropout`: 0.05
108
- - **Фреймворк:** TRL (Transformer Reinforcement Learning)
109
- - **Формат данных:** JSONL с полями `input` и `output`
110
-
111
- ## Ограничения
112
-
113
- - Модель обучена на русском языке для анализа кода
114
- - Может генерировать неточные или неполные ответы
115
- - Требует GPU для эффективной работы
116
-
117
- ## Лицензия
118
-
119
- Apache 2.0
120
-
121
- ## Авторы
122
-
123
- Fine-tuned by Vilyam888
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: transformers
3
+ license: apache-2.0
4
+ base_model: Qwen/Qwen2.5-Coder-3B-Instruct
5
+ pipeline_tag: text-generation
6
+ inference: true
7
+ tags:
8
+ - code
9
+ - code-analysis
10
+ - qwen
11
+ - qwen2
12
+ - text-generation
13
+ - transformers
14
+ - fine-tuned
15
+ widget:
16
+ - text: "Проанализируй этот код:\ndef hello():\n print('Hello, World!')"
17
+ example_title: "Анализ простого кода"
18
+ - text: "Объясни, что делает эта функция:\ndef factorial(n):\n if n <= 1:\n return 1\n return n * factorial(n-1)"
19
+ example_title: "Объяснение функции"
20
+ ---
21
+
22
+ # Code Analyzer Model
23
+
24
+ Fine-tuned версия модели Qwen2.5-Coder-3B-Instruct для анализа кода и ответов на вопросы о программировании.
25
+
26
+ ## Описание модели
27
+
28
+ Эта модель была обучена на датасете ITOG для анализа кода и предоставления ответов на вопросы, связанные с программированием. Модель основана на Qwen2.5-Coder-3B-Instruct и дообучена с использованием LoRA (Low-Rank Adaptation).
29
+
30
+ ## Быстрый старт
31
+
32
+ ### Вариант 1: Использование виджета на странице модели
33
+
34
+ 1. Перейдите на страницу модели: https://huggingface.co/Vilyam888/Code_analyze.1.0
35
+ 2. Прокрутите страницу вниз до раздела **"Hosted inference API"** или **"Widget"**
36
+ 3. Введите ваш запрос в текстовое поле виджета
37
+ 4. Нажмите "Compute" для получения ответа
38
+
39
+ **Примечание:** Если опция "Inference" не отображается в меню "Use this model", используйте виджет на странице модели или один из вариантов ниже.
40
+
41
+ ### Вариант 2: Использование локально (Python)
42
+
43
+ **Установка зависимостей:**
44
+ ```bash
45
+ pip install transformers torch
46
+ ```
47
+
48
+ **Простой пример использования:**
49
+ ```python
50
+ from transformers import pipeline
51
+
52
+ # Создаем pipeline для генерации текста
53
+ generator = pipeline(
54
+ "text-generation",
55
+ model="Vilyam888/Code_analyze.1.0",
56
+ trust_remote_code=True
57
+ )
58
+
59
+ # Задаем вопрос
60
+ prompt = "Проанализируй этот код:\ndef hello():\n print('Hello, World!')"
61
+ text = f"{prompt}\n\nОтвет:\n"
62
+
63
+ # Генерируем ответ
64
+ result = generator(text, max_new_tokens=512, temperature=0.7)
65
+ print(result[0]["generated_text"])
66
+ ```
67
+
68
+ **Или используйте готовые скрипты из репозитория:**
69
+
70
+ Простой пример (минимальный код):
71
+ ```bash
72
+ python scripts/quick_start_example.py
73
+ ```
74
+
75
+ Полный пример с интерактивным режимом:
76
+ ```bash
77
+ python scripts/use_model_example.py
78
+ ```
79
+
80
+ ## Использование
81
+
82
+ ### С помощью transformers
83
+
84
+ ```python
85
+ from transformers import AutoModelForCausalLM, AutoTokenizer
86
+ import torch
87
+
88
+ model_name = "Vilyam888/Code_analyze.1.0"
89
+
90
+ tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
91
+ model = AutoModelForCausalLM.from_pretrained(
92
+ model_name,
93
+ torch_dtype=torch.bfloat16,
94
+ device_map="auto",
95
+ trust_remote_code=True
96
+ )
97
+
98
+ # Формат запроса
99
+ prompt = "Проанализируй этот код:\ndef hello():\n print('Hello, World!')"
100
+
101
+ # Форматирование в стиле обучения
102
+ text = f"{prompt}\n\nОтвет:\n"
103
+
104
+ inputs = tokenizer(text, return_tensors="pt").to(model.device)
105
+
106
+ with torch.no_grad():
107
+ outputs = model.generate(
108
+ **inputs,
109
+ max_new_tokens=512,
110
+ temperature=0.7,
111
+ top_p=0.8,
112
+ top_k=20,
113
+ repetition_penalty=1.05,
114
+ do_sample=True
115
+ )
116
+
117
+ response = tokenizer.decode(outputs[0], skip_special_tokens=True)
118
+ print(response)
119
+ ```
120
+
121
+ ### С помощью pipeline
122
+
123
+ ```python
124
+ from transformers import pipeline
125
+
126
+ model_name = "Vilyam888/Code_analyze.1.0"
127
+
128
+ generator = pipeline(
129
+ "text-generation",
130
+ model=model_name,
131
+ tokenizer=model_name,
132
+ trust_remote_code=True,
133
+ device_map="auto"
134
+ )
135
+
136
+ prompt = "Объясни, что делает этот код:\ndef factorial(n):\n if n <= 1:\n return 1\n return n * factorial(n-1)"
137
+ text = f"{prompt}\n\nОтвет:\n"
138
+
139
+ result = generator(
140
+ text,
141
+ max_new_tokens=512,
142
+ temperature=0.7,
143
+ top_p=0.8,
144
+ top_k=20,
145
+ repetition_penalty=1.05,
146
+ do_sample=True
147
+ )
148
+
149
+ print(result[0]["generated_text"])
150
+ ```
151
+
152
+ ## Детали обучения
153
+
154
+ - **Базовая модель:** Qwen/Qwen2.5-Coder-3B-Instruct
155
+ - **Метод обучения:** LoRA (Low-Rank Adaptation)
156
+ - **Параметры LoRA:**
157
+ - `r`: 16
158
+ - `lora_alpha`: 32
159
+ - `lora_dropout`: 0.05
160
+ - **Фреймворк:** TRL (Transformer Reinforcement Learning)
161
+ - **Формат данных:** JSONL с полями `input` и `output`
162
+
163
+ ## Ограничения
164
+
165
+ - Модель обучена на русском языке для анализа кода
166
+ - Может генерировать неточные или неполные ответы
167
+ - Требует GPU для эффективной работы
168
+
169
+ ## Лицензия
170
+
171
+ Apache 2.0
172
+
173
+ ## Авторы
174
+
175
+ Fine-tuned by Vilyam888