File size: 5,899 Bytes
0d61a0e c5a9d28 0d61a0e fa1b8a1 0d61a0e 569ffe5 0d61a0e 97209c3 0d61a0e 7afb4d3 0123035 7afb4d3 dfc2610 0123035 dfc2610 0123035 0d61a0e d1d6a80 0d61a0e d1d6a80 0d61a0e d1d6a80 0d61a0e d1d6a80 cd94e95 d1d6a80 0d61a0e 7afb4d3 0d61a0e 7afb4d3 1a5ce42 0123035 |
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 |
---
datasets:
- IlyaGusev/ru_turbo_alpaca
- yahma/alpaca-cleaned
language:
- ru
- en
pipeline_tag: text2text-generation
inference: false
---
# LLaMA 13B trained on the ru_turbo_alpaca, Russian instructions dataset
**Important**: You should probably use [Saiga](https://huggingface.co/IlyaGusev/saiga_13b_lora). It has regular updates and should be better in every task.
Based on [LLaMA 13B](https://huggingface.co/decapoda-research/llama-13b-hf).
* This is an adapter-only version.
* llama.cpp version: [link](https://huggingface.co/IlyaGusev/llama_13b_ru_turbo_alpaca_lora_llamacpp).
Colab: [link](https://colab.research.google.com/drive/18GG-zwxyGAHoVXghlOQONkxb_GpR7USj)
Training code: [link](https://github.com/IlyaGusev/rulm/tree/master/self_instruct)
Prompt template for v2:
```
### Задание: {instruction}
### Вход: {input}
### Ответ:
```
or
```
### Задание: {instruction}
### Ответ:
```
Versions:
- v2, April 8, 2023: A model trained with outputs capped at 800 tokens instead of 400. Also, now only a single prompt template is supported.
- `revision="3dff86a20f80ba203fec6e986a3422b83822ca70"`
- Final loss: 0.995
- Time: 38 hours, 35 minutes
- Hardware: 1x RTX 3090Ti
- Wandb link: [link](https://wandb.ai/ilyagusev/rulm_self_instruct/runs/wy66bwim/overview?workspace=user-ilyagusev)
- v1, April 2, 2023: Original model trained with 400 max tokens in outputs. Both Russian and English are supported, trained on the ru_turbo_alpaca and alpaca-cleaned.
- `revision="97209c36c9261eb9527371a341c70f90c39ee158"`
- Final loss: 1.074
- Time: 53 hours, 53 minutes
- Hardware: 1x RTX 3090
```python
import torch
from peft import PeftModel, PeftConfig
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
MODEL_NAME = "IlyaGusev/llama_13b_ru_turbo_alpaca_lora"
config = PeftConfig.from_pretrained(MODEL_NAME)
model = AutoModelForCausalLM.from_pretrained(
config.base_model_name_or_path,
load_in_8bit=True,
torch_dtype=torch.float16,
device_map="auto"
)
model = PeftModel.from_pretrained(model, MODEL_NAME, torch_dtype=torch.float16)
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model.eval()
generation_config = GenerationConfig.from_pretrained(MODEL_NAME)
data = tokenizer(["### Задание: Почему трава зеленая?\n### Ответ: "], return_tensors="pt")
data = {k: v.to(model.device) for k, v in data.items() if k in ("input_ids", "attention_mask")}
output_ids = model.generate(**data, generation_config=generation_config)[0]
print(tokenizer.decode(output_ids, skip_special_tokens=True))
```
Examples:
```
### Задание: Почему трава зеленая?
### Ответ: Трава зеленая из-за содержания в ней хлорофилла, который является пигментом, ответственным за зеленый цвет растений.
Хлорофилл содержится в хлоропластах, органе, который находится внутри клеток растений и отвечает за фотосинтез -
процесс, который позволяет растениям использовать солнечную энергию для создания сахара из воды и углекислого газа.
Хлорофиллы способны поглощать световой спектр с длиной волны от 400 до 700 нанометров, что приводит к зеленому цвету растений.
```
```
### Задание: Сочини длинный рассказ, обязательно упоминая следующие объекты.
### Вход: Таня, мяч
### Ответ: Однажды летом Таня решила пойти на прогулку в парк. Она взяла с собой свой любимый мяч и отправилась на прогулку.
Парк был очень красивым и зеленым. Таня гуляла по его аллее, наслаждаясь свежим воздухом и красивыми цветами.
Вскоре она заметила, что рядом с ней стоит маленький мальчик. Он был немного младше Тани, но был очень добрым и дружелюбным.
"Здравствуй, девочка", - сказал мальчик, улыбаясь.
Таня улыбнулась ему в ответ и предложила сыграть в мяч. Мальчик согласился, и они начали играть вместе.
Они играли долгое время, и Таня забыла о времени и о том, что она должна была вернуться домой.
Когда они закончили играть, мальчик попросил Таню поиграть с ним еще раз. Таня согласилась, и они продолжили играть.
Когда Таня вернулась домой, она была очень уставшая, но она была очень счастлива, что провела такую замечательную прогулку и познакомилась с таким замечательным мальчиком.
С тех пор Таня и мальчик стали лучшими друзьями. Они играли вместе каждый день, и Таня всегда чувствовала себя счастливой, когда играла с ним.
Таким образом, Таня обнаружила, что игра в мяч может быть не только увлекательным, но и способствовать созданию новых дружеских отношений.
``` |