File size: 5,472 Bytes
8d7a5ca |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
---
language:
- ru
- en
library_name: transformers
pipeline_tag: text-generation
license: llama3.2
base_model: meta-llama/Llama-3.2-3B-Instruct
tags:
- llama-3.2
- personalization
- russian
- telegram
- lora
- tpu
- conversational-ai
- fine-tuned
model_type: llama
datasets:
- custom_telegram_dialogs
---
# 🤖 LLaMA 3.2 3B Персонализированная Модель
Персонализированная модель на основе **LLaMA 3.2 3B Instruct**, обученная на диалогах Telegram с использованием **LoRA (Low-Rank Adaptation)** на **TPU v3-8**.
## 📊 Результаты обучения

| Метрика | Training | Validation |
|---------|----------|------------|
| **Loss** | 2.3811 | 2.2514 |
| **Perplexity** | 10.82 | 9.50 |
- ⏱️ **Время обучения**: ~8.1 часов на TPU v3-8
- 🔄 **Всего шагов**: 8,012 (1 эпоха)
- 📈 **Отличная генерализация**: validation loss ниже training loss
## 🔧 Конфигурация LoRA
```yaml
LoRA Configuration:
rank: 16
alpha: 32
dropout: 0.1
target_modules:
- q_proj
- k_proj
- v_proj
- o_proj
- gate_proj
- up_proj
```
## 🎯 Особенности модели
- 🗣️ **Персонализация**: Обучена имитировать стиль общения конкретного пользователя
- 🇷🇺 **Русский язык**: Оптимизирована для русскоязычных диалогов
- 💬 **Telegram-стиль**: Адаптирована под неформальное общение в мессенджерах
- ⚡ **Эффективность**: Использует LoRA для быстрого fine-tuning
## 💾 Использование
### Быстрый старт
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch
# Загрузка базовой модели
base_model_name = "meta-llama/Llama-3.2-3B-Instruct"
model = AutoModelForCausalLM.from_pretrained(
base_model_name,
torch_dtype=torch.bfloat16,
device_map="auto"
)
# Загрузка LoRA адаптера
model = PeftModel.from_pretrained(model, "Aze4ka/projectme")
# Загрузка токенизатора
tokenizer = AutoTokenizer.from_pretrained("Aze4ka/projectme")
# Функция генерации ответа
def generate_response(prompt, max_new_tokens=100, temperature=0.7):
# Форматирование в стиле LLaMA 3.2
formatted_prompt = f"<|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\n{prompt}<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n"
inputs = tokenizer(formatted_prompt, return_tensors="pt")
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=max_new_tokens,
temperature=temperature,
top_p=0.9,
do_sample=True,
pad_token_id=tokenizer.pad_token_id,
eos_token_id=tokenizer.eos_token_id
)
response = tokenizer.decode(outputs[0][inputs['input_ids'].shape[1]:], skip_special_tokens=True)
return response.strip()
# Пример использования
response = generate_response("Привет! Как дела?")
print(response)
```
### Примеры диалогов
**Пользователь**: Привет! Как дела?
**Модель**: Привет! Дела отлично, спасибо! А у тебя как?
**Пользователь**: Что думаешь о машинном обучении?
**Модель**: ML — это невероятно! Постоянно развивается, столько возможностей...
## 🛠️ Технические детали
- **Базовая модель**: `meta-llama/Llama-3.2-3B-Instruct`
- **Метод обучения**: LoRA (Low-Rank Adaptation)
- **Платформа**: TPU v3-8 на Kaggle
- **Фреймворк**: PyTorch + torch_xla
- **Библиотеки**: transformers, peft, wandb
## 📈 Процесс обучения
- 📊 **Логирование**: Wandb с метриками каждые 10 шагов
- 🔄 **Валидация**: Каждые 1000 шагов
- 💾 **Checkpoint'ы**: Автоматическое сохранение
- ⚡ **Оптимизация**: AdamW с cosine scheduler
## ⚡ Рекомендации по использованию
- **Temperature**: 0.7 для сбалансированности
- **Max tokens**: 100-150 для коротких ответов
- **Top-p**: 0.9 для разнообразия
- **Batch size**: 1-4 для инференса
## 🎓 Цитирование
```bibtex
@misc{llama32-personalized-2025,
title={LLaMA 3.2 3B Персонализированная модель},
author={Aze4ka},
year={2025},
publisher={HuggingFace},
url={https://huggingface.co/Aze4ka/projectme}
}
```
## 📄 Лицензия
Эта модель лицензирована в соответствии с [LLaMA 3.2 Community License](https://github.com/meta-llama/llama-models/blob/main/models/llama3_2/LICENSE).
---
*Модель создана в образовательных целях для демонстрации персонализации LLM на русском языке.*
|