Polpaca: The Alpaca Speaks Polish

The blogpost: https://medium.com/@mmosiolek/can-alpacas-learn-languages-df48a03b6d8

LLaMA is a state-of-the-art, foundational, open-source large language model designed to help engineers and researchers advance their work in NLP. For example, Stanford researchers have fine-tuned LLaMA to construct an alternative to the famous ChatGPT - a model called Alpaca. Unfortunately, LLaMA was trained on a dataset consisting mainly of English texts, with only 4.5% of the data relating to other languages. In addition, the Alpaca instruction training dataset consists only of examples of English instructions. So Alpaca simply doesn't work for the other languages.

This repo makes Alpaca-Lora-7B speak Polish.

Usage

from transformers import LlamaTokenizer, LlamaForCausalLM
from peft import PeftModel
import bitsandbytes as bnb

base = "decapoda-research/llama-7b-hf"
finetuned = "mmosiolek/polpaca-lora-7b"

tokenizer = LlamaTokenizer.from_pretrained(base)
tokenizer.pad_token_id = 0
tokenizer.padding_side = "left"

model = LlamaForCausalLM.from_pretrained(base)
model = PeftModel.from_pretrained(model, finetuned).to("cuda")

For output generation use the following code. Feel free to adjust the parameters according to your needs.

from transformers import GenerationConfig

config = GenerationConfig(
  temperature=0.1,
  top_p=0.5,
  top_k=40,
  num_beams=4,
  max_new_tokens=128,
  repetition_penalty=1.2
)

def run(instruction, model, tokenizer):
    encodings = tokenizer(instruction, padding=True, return_tensors="pt").to('cuda')
    generated_ids = model.generate(
        **encodings,
        generation_config=GENERATION_CONFIG,
    )
    decoded = tokenizer.batch_decode(generated_ids)
    del encodings, generated_ids
    torch.cuda.empty_cache()
    return decoded[0].split("\n")[-1]

Example input/output

instruction:

Wymyśl kilka zapytań w google na temat kodowania.

output Jaki jest najpopularniejszy język programowania? Jaki jest najbardziej powszechnie używany język programowania? Jaki jest najnowszy język programowania? Jaki jest najbardziej efektywny język programowania?

instruction Zrób listę pożądanych umiejętności inżynierów oprogramowania, którą możesz dodać do LinkedIn. output Pożądane umiejętności dla inżyniera oprogramowania obejmują: - Programowanie w językach takich jak Java, C++, C#, Python, JavaScript i HTML - Wnioskowanie logiczne - Rozwiązywanie problemów - Inżynieria oprogramowania - Uczenie maszynowe - Przetwarzanie języka naturalnego (NLP) - Systemy zarządzania bazami danych (DBMS) - Architektura

instruction

W odniesieniu do danego scenariusza pogody podaj kilka wskazówek, jak dostosować do niego plany podróży.

input

nagłą zmianę temperatury

output

Kilka wskazówek dotyczących dostosowania planów podróży w przypadku nagłej zmiany temperatury obejmują:
1. Upewnij się, że masz odpowiednie ubrania i akcesoria, takie jak krem przeciwsłoneczny, kapelusze i okulary przeciwsłoneczne.
2. Upewnij się, że masz wystarczającą ilość płynów, takich jak woda i napoje gazowane.
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Examples
Unable to determine this model's library. Check the docs .

Dataset used to train mmosiolek/polpaca-lora-7b