--- language: - pl - en pipeline_tag: text-generation --- # Llama-3-8B-Omnibus-1-PL-v01-INSTRUCT-GGUF To repozytorum zawiera konwersję modeli Llama-3-8B-Omnibus-1-PL-v01-INSTRUCT do formatu GGUF - Q8_0 oraz Q4_K_M. Przetestowana została w dwóch środowiskach uruchomieniowych: #### LM Studio Wersja minimum 0.2.20 - koniecznie wybierz format promptu Llama 3 (!) (opcja Preset) #### Ollama Wersja 0.1.32. Konfiguracja ollama plik Modelfile ``` FROM ./Llama-3-Omnibus-PL-v01-GGUF.Q4_K_M.gguf TEMPLATE """{{ if .System }}<|start_header_id|>system<|end_header_id|> {{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|> {{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|> {{ .Response }}<|eot_id|>""" PARAMETER stop "<|start_header_id|>" PARAMETER stop "<|end_header_id|>" PARAMETER stop "<|eot_id|>" PARAMETER stop "<|reserved_special_token|>" ``` Repozytorium zawiera model Meta Llama-3-8B-Omnibus-1-PL-v01 w wersji polskojęzycznej. Model postał na podstawie finetuningu modelu bazowego Llama-3-8B. Wykorzystano do tego dataset instrukcji Omnibus-1-PL (stworzyłem go na własne potrzeby przeprowadzania eksperymenów finetuningu modeli w języku polskim). Szczegóły parametrów treningu w sekcji Trening. Celem tego eksperymentu było sprawdzenie czy można namówić Llama-3-8B do płynnego rozmawiania w języku polskim (oryginalny model instrukcyjny 8B ma z tym problem - woli zdecydowanie bardziej rozmawiać po angielsku). Uwaga! * Model NIE jest CENZUROWANY. To wersja do zabawy. Nie została ujarzmiona. * Model będzie dalej rozwijany ponieważ eksperymentuję z a. kolejnymi wersjami datasetu, b. model jest świetną bazą do testowania różnych technik finetunowania (LoRA, QLoRA; DPO, ORPO itd.) * Udostępniłem go spontanicznie by użytkownicy mogli go używać i sprawdzać jakość Llama 3 ale w kontekście języka polskiego. * Po informacji, że baza była trenowana na 15T tokenów (tylko 5% nie angielskich) uznałem, że to świetny model do finetuningu. Być może lekkie dotrenowanie modelu za pomocą contingued-pretraining da jeszcze większy uzysk. ### Sposób kodowania nazwy modelu * Nazwa modelu bazowego: Llama-3-8B * Nazwa datasetu: Omnibus-1 * Wersja językowa: PL (polska) * Wersja modelu: v01 ### Dataset Omnibus-1 to zbiór polskich instrukcji (100% kontekstu Polskiego - fakty, osoby, miejsca osadzone w Polsce), który został w 100% syntetycznie wygenerowany. Zawiera on instrukcje z kategorii - matematyka, umiejętność pisania, dialogi, tematy medyczne, zagadki logiczne, tłumaczenia itd. Powstał on w ramach moich prac związanych z badaniem jakości modeli w kontekście języka polskiego. Pozwala on na finetuning modelu i sprawdzenie podatności modelu do mówienia w naszym rodzimym języku. Dataset zawiera obecnie 75.000 instrukcji. Będzie cały czas udoskonalony i być może w przyszłości udostępniony (jak uznam, że już jest wtstarczająco pełen i obejmuje szerokie spektrum tematyki i umiejętności). Dataset jest w 100% generowany za pomocą innych LLM (GPT3.5, GPT4, Mixtral itd.) ### Szablon konwersacji Szablon konwersacji to oryginalna wersja Llama3 ``` <|start_header_id|>You are a helpful, smart, kind, and efficient AI assistant. You always fulfill the user's requests to the best of your ability.<|end_header_id|> {System} <|eot_id|> <|start_header_id|>user<|end_header_id|> {User} <|eot_id|><|start_header_id|>assistant<|end_header_id|> {Assistant} ``` ### Wersja instrukcyjna Wersje poddane quantyzacji są dostępne w repozytorium: * Llama-3-8B-Omnibus-1-PL-v01-instruct-GGUF - przetestowane w LM Studio (wybierz szablon - Llama3) oraz ollama * | Version | Model card | | ------- | -------------------------------------------------------------------------- | | Instruct| [🤗 HuggingFace](https://huggingface.co/Remek/Llama-3-8B-Omnibus-1-PL-v01-instruct) | ### Trening Poniżej szczegóły hiperparametrów treningu: * learning_rate: 2e-05 * train_batch_size: 8 * eval_batch_size: 8 * seed: 42 * distributed_type: single-GPU (Nvidia A6000 Ada) * num_devices: 1 * gradient_accumulation_steps: 4 * optimizer: adamw_8bit * lr_scheduler_type: linear * lr_scheduler_warmup_steps: 5 * num_epochs: 1 * QLoRa - 4bit: rank 64, alpha 128 #### Unsloth [Unsloth](https://unsloth.ai), narzędzie dzięki któremu powstał ten model. ### Licencja Licencja na zasadzie nie do komercyjnego użycia (ze względu na dataset - generowany syntetycznie za pomocą modeli GPT4, GPT3.5) oraz licencja Llama3 (proszę o zapoznanie się ze szczegółami licencji).