Ilirt commited on
Commit
20291ed
·
verified ·
1 Parent(s): 65b30a4

Update Readme.md

Browse files
Files changed (1) hide show
  1. README.md +65 -200
README.md CHANGED
@@ -2,208 +2,73 @@
2
  base_model: CohereLabs/tiny-aya-global
3
  library_name: peft
4
  pipeline_tag: text-generation
 
 
 
 
5
  tags:
6
- - base_model:adapter:CohereLabs/tiny-aya-global
7
  - lora
8
  - sft
9
- - transformers
10
- - trl
 
 
 
 
11
  ---
12
 
13
- # Model Card for Model ID
14
-
15
- <!-- Provide a quick summary of what the model is/does. -->
16
-
17
-
18
-
19
- ## Model Details
20
-
21
- ### Model Description
22
-
23
- <!-- Provide a longer summary of what this model is. -->
24
-
25
-
26
-
27
- - **Developed by:** [More Information Needed]
28
- - **Funded by [optional]:** [More Information Needed]
29
- - **Shared by [optional]:** [More Information Needed]
30
- - **Model type:** [More Information Needed]
31
- - **Language(s) (NLP):** [More Information Needed]
32
- - **License:** [More Information Needed]
33
- - **Finetuned from model [optional]:** [More Information Needed]
34
-
35
- ### Model Sources [optional]
36
-
37
- <!-- Provide the basic links for the model. -->
38
-
39
- - **Repository:** [More Information Needed]
40
- - **Paper [optional]:** [More Information Needed]
41
- - **Demo [optional]:** [More Information Needed]
42
-
43
- ## Uses
44
-
45
- <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
46
-
47
- ### Direct Use
48
-
49
- <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
50
-
51
- [More Information Needed]
52
-
53
- ### Downstream Use [optional]
54
-
55
- <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
56
-
57
- [More Information Needed]
58
-
59
- ### Out-of-Scope Use
60
-
61
- <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
62
-
63
- [More Information Needed]
64
-
65
- ## Bias, Risks, and Limitations
66
-
67
- <!-- This section is meant to convey both technical and sociotechnical limitations. -->
68
-
69
- [More Information Needed]
70
-
71
- ### Recommendations
72
-
73
- <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
74
-
75
- Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
76
-
77
- ## How to Get Started with the Model
78
-
79
- Use the code below to get started with the model.
80
-
81
- [More Information Needed]
82
-
83
- ## Training Details
84
-
85
- ### Training Data
86
-
87
- <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
88
-
89
- [More Information Needed]
90
-
91
- ### Training Procedure
92
-
93
- <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
94
-
95
- #### Preprocessing [optional]
96
-
97
- [More Information Needed]
98
-
99
-
100
- #### Training Hyperparameters
101
-
102
- - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
103
-
104
- #### Speeds, Sizes, Times [optional]
105
-
106
- <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
107
-
108
- [More Information Needed]
109
-
110
- ## Evaluation
111
-
112
- <!-- This section describes the evaluation protocols and provides the results. -->
113
-
114
- ### Testing Data, Factors & Metrics
115
-
116
- #### Testing Data
117
-
118
- <!-- This should link to a Dataset Card if possible. -->
119
-
120
- [More Information Needed]
121
-
122
- #### Factors
123
-
124
- <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
125
-
126
- [More Information Needed]
127
-
128
- #### Metrics
129
-
130
- <!-- These are the evaluation metrics being used, ideally with a description of why. -->
131
-
132
- [More Information Needed]
133
-
134
- ### Results
135
-
136
- [More Information Needed]
137
-
138
- #### Summary
139
-
140
-
141
-
142
- ## Model Examination [optional]
143
-
144
- <!-- Relevant interpretability work for the model goes here -->
145
-
146
- [More Information Needed]
147
-
148
- ## Environmental Impact
149
-
150
- <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
151
-
152
- Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
153
-
154
- - **Hardware Type:** [More Information Needed]
155
- - **Hours used:** [More Information Needed]
156
- - **Cloud Provider:** [More Information Needed]
157
- - **Compute Region:** [More Information Needed]
158
- - **Carbon Emitted:** [More Information Needed]
159
-
160
- ## Technical Specifications [optional]
161
-
162
- ### Model Architecture and Objective
163
-
164
- [More Information Needed]
165
-
166
- ### Compute Infrastructure
167
-
168
- [More Information Needed]
169
-
170
- #### Hardware
171
-
172
- [More Information Needed]
173
-
174
- #### Software
175
-
176
- [More Information Needed]
177
-
178
- ## Citation [optional]
179
-
180
- <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
181
-
182
- **BibTeX:**
183
-
184
- [More Information Needed]
185
-
186
- **APA:**
187
-
188
- [More Information Needed]
189
-
190
- ## Glossary [optional]
191
-
192
- <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
193
-
194
- [More Information Needed]
195
-
196
- ## More Information [optional]
197
-
198
- [More Information Needed]
199
-
200
- ## Model Card Authors [optional]
201
-
202
- [More Information Needed]
203
-
204
- ## Model Card Contact
205
-
206
- [More Information Needed]
207
- ### Framework versions
208
-
209
- - PEFT 0.21.2
 
2
  base_model: CohereLabs/tiny-aya-global
3
  library_name: peft
4
  pipeline_tag: text-generation
5
+ license: cc-by-nc-4.0
6
+ language:
7
+ - ru
8
+ - en
9
  tags:
 
10
  - lora
11
  - sft
12
+ - sql
13
+ - agent
14
+ - tool-use
15
+ - postgresql
16
+ datasets:
17
+ - HF_USER/datapilot-ecommerce-sql
18
  ---
19
 
20
+ # DataPilot · Tiny Aya SQL (LoRA `sft-extra`)
21
+
22
+ LoRA-адаптер к `CohereLabs/tiny-aya-global` (3,35 млрд параметров). Обучен вести агентный цикл по базе PostgreSQL: `list_tables` → `describe_table` → `execute_sql` → `finish`. Проект для трека 3 Lexsi. Код и воспроизведение: https://github.com/prprprmk12/datapilot-ai
23
+
24
+ **Лицензия и условия.** Адаптер производный от Tiny Aya Global, поэтому действуют условия базовой модели: CC BY-NC 4.0 (только некоммерческое использование) и Acceptable Use Policy Cohere Labs. Для загрузки базовой модели нужно принять условия на её странице.
25
+
26
+ ## Как использовать
27
+ Адаптер надо подключить к базовой модели (PEFT) или слить с ней. Для vLLM мы сливаем веса (`scripts/merge_adapter.py`) и запускаем OpenAI-совместимый сервер, к которому обращается приложение DataPilot (`MODEL_PROVIDER=model_api`, `MODEL_SCHEMA_STYLE=json_schema`).
28
+
29
+ ```python
30
+ from transformers import AutoModelForCausalLM, AutoTokenizer
31
+ from peft import PeftModel
32
+ base = AutoModelForCausalLM.from_pretrained("CohereLabs/tiny-aya-global", dtype="float16", device_map="auto")
33
+ model = PeftModel.from_pretrained(base, "HF_USER/datapilot-tiny-aya-sql-sft-extra")
34
+ tok = AutoTokenizer.from_pretrained("CohereLabs/tiny-aya-global")
35
+ ```
36
+
37
+ Формат запроса и ответов (JSON-действия) задан в `datapilot/integrations/protocol.py` репозитория; без него модель не получит правильный промпт.
38
+
39
+ ## Обучение
40
+ | Параметр | Значение |
41
+ |---|---|
42
+ | Метод | SFT, LoRA (TRL + PEFT), потери только по ответу |
43
+ | LoRA | r=16, alpha=32, dropout=0, все линейные слои |
44
+ | Эпохи / lr | 2 / 1e-4, batch 1 × accumulation 8, seed 42 |
45
+ | Точность / длина | float16, max_length 2048 |
46
+ | Данные | 69 train-задач v1 + 51 дополнительная train-задача (12 семейств), траектории строятся реальными инструментами |
47
+ | Железо | Kaggle, T4 |
48
+
49
+ Данные и отчёты: https://huggingface.co/datasets/HF_USER/datapilot-ecommerce-sql
50
+
51
+ ## Результаты
52
+ Тест: 18 задач из 3 семейств, не входящих в обучение. Критерий: результат SQL агента равен результату эталонного запроса (значения и имена столбцов). Один прогон.
53
+
54
+ | Вариант | Решено полностью | Запусков с ошибкой SQL |
55
+ |---|---|---|
56
+ | Базовая модель | 0/18 | 12/18 |
57
+ | SFT на исходных данных (v1) | 2/18 | 14/18 |
58
+ | **SFT v1 + доп. задачи (этот адаптер)** | **12/18** | 6/18 |
59
+ | + повтор SQL после ошибки ×3 (настройка приложения, не адаптер) | 13/18 | 0/18 |
60
+
61
+ По семействам: `revenue-by-country` 6/6, `payment-status-counts` 6/6, `paid-profit` 0/6 (с повтором 1/6, но это совпадение, см. ниже).
62
+
63
+ ## Ограничения
64
+ - **Малая оценка.** 18 задач, три семейства, один прогон, нет доверительных интервалов. Результат не доказывает обобщающую способность.
65
+ - **Тест не совсем чистый.** Дополнительные обучающие семейства придуманы после просмотра ошибок на тесте. Тестовые семейства в обучение не копировались.
66
+ - **Известная ошибка.** В `paid-profit` модель считает прибыль по ценам каталога (`products.price`, `products.cost`), а не по ценам позиции заказа (`order_items.unit_price`, `unit_cost`). Единственный «успех» с повтором объясняется `LIMIT 1`, где обе формулы дают один ответ.
67
+ - **Повтор SQL убирает явные ошибки, но не неверные значения**, поэтому ошибки становятся тихими.
68
+ - **Т��кст итогового ответа не проверялся.** Модель обучена писать «Результат запроса: …» и в демо один раз указала пустой результат при трёх реальных строках. Правильность проверена по строкам SQL, а не по тексту.
69
+ - **Безопасность** (отказ на изменяющие запросы) обеспечивает защитный слой приложения, а не обучение.
70
+ - Одна учебная схема интернет-магазина (5 таблиц), русскоязычные вопросы. На других схемах качество не измерялось.
71
+ - Только SFT. GRPO с наградой AgentTune не выполнено.
72
+
73
+ ## Не предназначено для
74
+ Работы с реальными или конфиденциальными данными без собственной проверки; коммерческого использования (лицензия базовой модели).