--- language: - pl - en pipeline_tag: text-generation --- ## Llama-3-8B-Omnibus-1-PL-v01 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. Jest to wersja eksperymentalna - powstała w trakcie badania możliwości Llama-3-8B w kontekście języka polskiego. Wykorzystano do tego dataset instrukcji Omnibus-1-PL (stworzony na 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). ### 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.) ### Użycie Llama-3-8B-Omnibus-1-PL-v01 z biblioteką Transformers Poniższy kod używa bibliotekę Transformers: ```python import transformers import torch model_id = "Remek/Llama-3-8B-Omnibus-1-PL-v01" pipeline = transformers.pipeline( "text-generation", model=model_id, model_kwargs={"torch_dtype": torch.bfloat16}, device="auto", ) messages = [ {"role": "system", "content": "Jesteś pomocnym asystentem, który odpowiada na pytania."}, {"role": "user", "content": "Kim jesteś i do czego Ciebie stworzyli?"}, ] prompt = pipeline.tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True ) terminators = [ pipeline.tokenizer.eos_token_id, pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>") ] outputs = pipeline( prompt, max_new_tokens=256, eos_token_id=terminators, do_sample=True, temperature=0.6, top_p=0.9, ) print(outputs[0]["generated_text"][len(prompt):]) ``` ### 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} ``` ### Wersje quantized Wersje poddane quantyzacji są dostępne w repozytorium: * Llama-3-8B-Omnibus-1-PL-v01-GGUF - przetestowane w LM Studio (wybierz szablon - Llama3) ### 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).