Buckets:
| library_name: transformers | |
| tags: | |
| - ai | |
| - chatty | |
| - hoopoe2.4 | |
| - conversational | |
| license: apache-2.0 | |
| language: | |
| - he | |
| - en | |
| base_model: | |
| - Raziel1234/Duchifat-2 | |
| pipeline_tag: text-generation | |
| # Duchifat-2.4-Instruct (136M) ๐ฆ | |
| **Duchifat-2.4-Instruct** represents a significant evolution in the Duchifat series. This version (2.4) is a specialized, instruction-tuned model that has been refined through a massive training pipeline to achieve state-of-the-art performance for its size (136M parameters). | |
| ## ๐ Whatโs New in Version 2.4? | |
| Version 2.4 is not just a minor update; it's a complete refinement of the model's behavior and alignment: | |
| - **Advanced Token Density:** v2.4 has been pushed to a total of **3.27 Billion tokens**, ensuring the model has reached peak saturation for its 136M architecture. | |
| - **Structural Alignment:** Unlike previous iterations, 2.4 is natively aligned to the `<|instruction|>` and `<|assistant|>` tokens. The model now treats these as fundamental structural boundaries. | |
| - **Hard-Coded EOS Logic:** We have fixed the termination issues from earlier versions. v2.4 is specifically trained to predict and emit the `<|eos|>` token at the precise end of every instruction and response block, ensuring clean and reliable chat sessions. | |
| - **Improved Hebrew Fluency:** v2.4 leverages the DictaLM-3.0-24B tokenizer logic more effectively, resulting in a more natural "flow" of the Hebrew language without the stuttering found in smaller models. | |
| ## ๐ Technical Highlights | |
| - **Model Version:** 2.4 (Instruct) | |
| - **Parameter Count:** 136M | |
| - **Training Scale:** 3.27B Tokens (Mixed C4 Hebrew/English) | |
| - **Architecture:** Optimized Transformer with RoPE and RMSNorm. | |
| - **Inference Speed:** Ultra-low latency, ideal for real-time bilingual applications. | |
| ## ๐ป Implementation (v2.4) | |
| To utilize the improved logic of v2.4, ensure you use `trust_remote_code=True` and follow the mandatory format. | |
| ```python | |
| import torch | |
| from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer | |
| # ืชืืงืื ืืืืืช ื-Instruct (ื-r ืืคื ื ื-u) | |
| model_id = "razielAI/Hoopoe-2.4-Instruct" | |
| print(f"ืืืขื ืืช ืืืืื ืืฆืืืืจื {model_id}... ื ื ืืืืชืื.") | |
| try: | |
| # ืืขืื ืช ืืืืงื ืืืืจ | |
| tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True) | |
| # ืืขืื ืช ืืืืื | |
| model = AutoModelForCausalLM.from_pretrained( | |
| model_id, | |
| torch_dtype=torch.bfloat16, | |
| device_map="auto", | |
| trust_remote_code=True | |
| ) | |
| # ืกื ืืจืื ืืืื ื-Vocab | |
| if model.get_input_embeddings().weight.shape[0] != len(tokenizer): | |
| model.resize_token_embeddings(len(tokenizer)) | |
| streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=False) | |
| def run_chat(): | |
| print(f"\n--- {model_id} Chat Ready ---") | |
| model.eval() | |
| while True: | |
| user_input = input("\n๐ค ืืฉืชืืฉ: ") | |
| if user_input.lower() in ["exit", "quit", "ืืฆืืื", "ืืื"]: | |
| break | |
| prompt = f"<|instruction|>{user_input}<|eos|><|assistant|>" | |
| inputs = tokenizer(prompt, return_tensors="pt", add_special_tokens=False).to(model.device) | |
| print("๐ค Hoopoe: ", end="") | |
| with torch.no_grad(): | |
| model.generate( | |
| input_ids=inputs["input_ids"], | |
| attention_mask=inputs["attention_mask"], | |
| max_new_tokens=512, | |
| temperature=0.7, | |
| do_sample=True, | |
| pad_token_id=tokenizer.eos_token_id, | |
| eos_token_id=tokenizer.eos_token_id, | |
| repetition_penalty=1.15, | |
| streamer=streamer | |
| ) | |
| print() | |
| if __name__ == "__main__": | |
| run_chat() | |
| except Exception as e: | |
| print(f"\nืฉืืืื ืืืขืื ื: {e}") | |
| print("\nืขืฆื: ืื ืก ืืืฃ ืืืืื ื-Hugging Face ืืชืืืื ืฉืฉื ืืืฉืชืืฉ ืืืืืื ืืชืืืื ืืืืืง ืื.") | |
| ``` |
Xet Storage Details
- Size:
- 4.06 kB
- Xet hash:
- 5437e139270f0779a071b27c4d27e0e4177a2575aebf16f39462131f96a41d94
ยท
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.