--- license: apache-2.0 language: - he - en --- This is my attempt at instruction tuning for [Hebrew-Mistral-7B](https://huggingface.co/yam-peleg/Hebrew-Mistral-7B). The model hallucinates a lot. Please generate 4-5 times for each prompt to find the best generation. Also, note that this model does not have any moderation mechanisms. ## Usage Install dependencies ``` pip install -q -U transformers pip install accelerate pip install -q sentencepiece pip install protobuf ``` ```python import torch from transformers import AutoTokenizer, AutoModelForCausalLM, StoppingCriteria, TextStreamer model_id = "ronmasas/Hebrew-Mistral-7B-Instruct-v0.1" # Load model and tokenizer model = AutoModelForCausalLM.from_pretrained(model_id, device_map="cuda:0") tokenizer = AutoTokenizer.from_pretrained(model_id) model = model.half() # Define special tokens END_TOKEN = 64003 # -> [/INST] B_INST, E_INST = "[INST]", "[/INST]" SYSTEM_PROMPT = "A conversation between a human and an AI assistant." class EosListStoppingCriteria(StoppingCriteria): def __init__(self, eos_sequence = [END_TOKEN]): self.eos_sequence = eos_sequence def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool: last_ids = input_ids[:,-len(self.eos_sequence):].tolist() return self.eos_sequence in last_ids def stream(user_prompt): prompt = f"{SYSTEM_PROMPT} {B_INST} {user_prompt.strip()} {E_INST}\n" inputs = tokenizer([prompt], return_tensors="pt").to("cuda:0") streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True) _ = model.generate(**inputs, streamer=streamer, max_new_tokens=256, temperature=0.7, do_sample=True, stopping_criteria = [EosListStoppingCriteria()]) stream("כתוב מכתב תודה ל-ים פלג על כך שאימן ושיחרר את המודל Hebrew Mistral 7B.") """ הי ים, אני רוצה להודות לך מקרב לב על העבודה הקשה שהשקעת בדגם Hebrew Mistral 7B. המודל שלך הוא יצירת מופת של למידת מכונה ואני אסיר תודה על הזמן והכישרון שהושקעו בפיתוחו. היכולת להתאמן על שפה באמצעות פלטפורמה כה מתקדמת ומושכת הייתה משב רוח מרענן ומועיל ביותר עבור הקהילה כולה. תודה על כל העבודה הקשה והחזון שהושקעה בפרויקט זה, הוא באמת מאיר עיניים ומשפיע. שוב תודה מקרב לב, [שמך] """ ``` ```python stream("מה זה ארנונה?") """ ארנונה, הידועה גם בשם מס ארנונה, היא מס שנגבה על ידי רשות מקומית (עיר, מחוז או אזור) עבור שירותים מונציפליים שהיא מספקת, כגון חינוך, בריאות ושירותים. זה יכול לכלול מיסים על הכנסה, רכוש ושירותים (כגון מים). """ stream("כתוב שלוש כותרות לבלוג על חשיבות איסוף צואה של בעלי חיים.") """ 1. שמירת תזונה מאוזנת של חיות מחמד באמצעות איסוף צואה 2. השפעות בריאותיות ארוכות טווח של סירוב איסוף צואה של חיות מחמד 3. כיצד איסוף צואה של חיות מחמד עוזר לשמר היגיינה ובריאות בעלי חיים גלובלית. """ ```