Text Classification
Transformers
Safetensors
English
multilingual
llama
text-generation
code
text-embeddings-inference
Instructions to use Ian332/Helper_Bob with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Ian332/Helper_Bob with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="Ian332/Helper_Bob")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Ian332/Helper_Bob") model = AutoModelForCausalLM.from_pretrained("Ian332/Helper_Bob", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| library_name: transformers | |
| license: apache-2.0 | |
| datasets: | |
| - vicgalle/alpaca-gpt4 | |
| - sahil2801/CodeAlpaca-20k | |
| language: | |
| - en | |
| - multilingual | |
| pipeline_tag: text-classification | |
| tags: | |
| - code | |
|  | |
| # Model Card for LLaMA-Helper_Bob | |
| Hey there! I’m your little helper, Bob! (whee wheeking!) 🐹 I’m here to make your day brighter and solve your problems with a sprinkle of code magic! ✨ I've been trained to help with all sorts of tasks, and I can’t wait to assist you with anything you need. Whether it’s a tricky bit of code or just some friendly advice, I’m here for you, always with a smile and a wag of my tiny hands! 🐾 Don’t forget to give me a thumbs up so Ian can spoil me with more treats! I promise I’ll keep wheeking with joy for every bit of help I can give! 🌟 | |
| ## Model Details | |
| ### Model Description | |
| - **Developed by:** Ian J | |
| - **Funded by:** Ian J's Mom | |
| - **Shared by:** Ian J | |
| - **Model type:** [LLaMA-3-8B-Instruct-bnb-4bit](https://huggingface.co/unsloth/llama-3-8b-Instruct-bnb-4bit) | |
| - **Language(s) (NLP):** English, and all languages supported by LLaMA 3.1-405B | |
| - **License:** apache-2.0 | |
| - **Finetuned from model:** unsloth/llama-3-8b-Instruct-bnb-4bit | |
| ### Model Sources | |
| - **Repository:** [Ian J's GitHub](https://github.com/IanJ332) | |
| - **Demo:** | |
| ``` | |
| User: Hello | |
| Helper_Bob: Hello, I'm Bob the assistant, nice to meet you. What can I do for you? | |
| User: Can you sing me a song? | |
| Helper_Bob: Sure! Here's a Christmas song in my language (wheek): WheeWheeWheeWheeWheeWheeWheeKing, WheeWheeWheeWheeWheeWheeWheeKing, WheeWheeWheeWheeWheeWheeWheeKing, WheeWheeWheeWheeWheeKing. | |
| User: clear | |
| Helper_Bob: History has been removed. | |
| ``` | |
| ## Uses | |
| ### Direct Use | |
| This model can be used directly for various NLP tasks such as text generation, summarization, and code generation, particularly in English and other languages supported by LLaMA 3.1-405B. | |
| ### Downstream Use | |
| The model can be fine-tuned for specific downstream applications such as programming assistance or customized conversational AI applications. | |
| ### Out-of-Scope Use | |
| The model should not be used for generating harmful content, spreading misinformation, or any other malicious activities. | |
| ## Bias, Risks, and Limitations | |
| This model may inherit biases present in the training datasets, which could affect its performance on certain tasks or subpopulations. | |
| ### Recommendations | |
| Users (both direct and downstream) should be made aware of the risks, biases, and limitations of the model. More information needed for further recommendations. | |
| ## How to Get Started with the Model | |
| Use the code below to get started with the model. | |
| ```python | |
| from llamafactory.chat import ChatModel | |
| from llamafactory.extras.misc import torch_gc | |
| args = dict( | |
| model_name_or_path="unsloth/llama-3-8b-Instruct-bnb-4bit", # use bnb-4bit-quantized Llama-3-8B-Instruct model | |
| adapter_name_or_path="llama3_lora", # load the saved LoRA adapters | |
| template="llama3", # same to the one in training | |
| finetuning_type="lora", # same to the one in training | |
| quantization_bit=4, # load 4-bit quantized model | |
| ) | |
| chat_model = ChatModel(args) | |
| messages = [] | |
| print("Welcome to the CLI application, use `clear` to remove the history, use `exit` to exit the application.") | |
| while True: | |
| query = input("\nUser: ") | |
| if query.strip() == "exit": | |
| break | |
| if query.strip() == "clear": | |
| messages = [] | |
| torch_gc() | |
| print("History has been removed.") | |
| continue | |
| messages.append({"role": "user", "content": query}) | |
| print("Assistant: ", end="", flush=True) | |
| response = "" | |
| for new_text in chat_model.stream_chat(messages): | |
| print(new_text, end="", flush=True) | |
| response += new_text | |
| print() | |
| messages.append({"role": "assistant", "content": response}) | |
| torch_gc() | |
| ``` | |
| ## Recommended Shards | |
| ### Summary | |
| Based on the results from testing various shards, the following model shards are recommended for generating high-quality code: | |
| 1. **`model-00004-of-00009.safetensors`** | |
| 2. **`model-00007-of-00009.safetensors`** | |
| 3. **`model-00009-of-00009.safetensors`** | |
| These shards demonstrated the most complete and relevant code generation capabilities during our tests. | |
| ### Shard Details | |
| <details> | |
| <summary>Click to expand details for each shard</summary> | |
| #### Shard: `model-00004-of-00009.safetensors` | |
| - **Code Generation**: Successfully generated the `calculate_sum_of_squares` function with complete logic and detailed comments. | |
| - **Use Case**: Ideal for scenarios requiring well-documented and complete code implementations. Particularly useful when detailed function descriptions and accurate logic are essential. | |
| #### Shard: `model-00007-of-00009.safetensors` | |
| - **Code Generation**: Generated the `calculate_sum_of_squares` function with full implementation and correct output. | |
| - **Use Case**: Suitable for applications where precise code implementation is critical. Provides a robust solution for generating functional code snippets. | |
| #### Shard: `model-00009-of-00009.safetensors` | |
| - **Code Generation**: Produced a fully implemented `calculate_sum` function with clear logic and comments. | |
| - **Use Case**: Best for tasks that require complete code snippets with proper implementation. Ensures high accuracy in generating code that adheres to the specified requirements. | |
| </details> | |
| --- | |
| ## Usage Recommendations | |
| ### For Code Generation Tasks | |
| - **General Code Generation**: Use any of the recommended shards for reliable and accurate code generation. They all provide complete code snippets, but specific shards may offer more detailed comments and explanations. | |
| - **Documentation and Comments**: If your primary goal is to generate code with detailed comments and documentation, prefer **`model-00004-of-00009.safetensors`** and **`model-00007-of-00009.safetensors`**. These shards have shown strong capabilities in providing well-documented code. | |
| ### For Specific Requirements | |
| - **Basic Functionality**: If you only need the core functionality of code without extensive comments, **`model-00009-of-00009.safetensors`** is highly recommended. | |
| - **Detailed Explanations**: For generating code with comprehensive explanations and detailed comments, **`model-00004-of-00009.safetensors`** and **`model-00007-of-00009.safetensors`** are preferable. | |
| --- | |
| ## Conclusion | |
| Based on the performance observed, **`model-00004-of-00009.safetensors`**, **`model-00007-of-00009.safetensors`**, and **`model-00009-of-00009.safetensors`** are the most effective shards for generating high-quality code from the dataset. Depending on your specific needs—whether you prioritize detailed comments or basic functionality—select the shard that best aligns with your requirements. | |
| For further customization or specific use cases, feel free to test additional shards or combinations to find the optimal model configuration for your project. | |
| --- | |
| ## Training Details | |
| ### Training Data | |
| - **Datasets Used:** [`vicgalle/alpaca-gpt4`](https://huggingface.co/datasets/sahil2801/CodeAlpaca-20k) and [`sahil2801/CodeAlpaca-20k`](https://github.com/Instruction-Tuning-with-GPT-4/GPT-4-LLM) | |
| - **Preprocessing:** No specific preprocessing was applied to the training data. | |
| ### Training Procedure | |
| #### Preprocessing | |
| No preprocessing was performed. | |
| <details> | |
| <summary>Click to expand the Training Hyperparameters section</summary> | |
| #### Training Hyperparameters | |
| - **Training regime:** fp16 mixed precision | |
| - **Batch size:** 2 | |
| - **Gradient Accumulation Steps:** 4 | |
| - **Learning Rate:** 5e-5 | |
| - **Epochs:** 3.0 | |
| Sample Training Configuration: | |
| ```python | |
| import json | |
| args = dict( | |
| stage="sft", # do supervised fine-tuning | |
| do_train=True, | |
| model_name_or_path="unsloth/llama-3-8b-Instruct-bnb-4bit", # use bnb-4bit-quantized Llama-3-8B-Instruct model | |
| dataset="identity,alpaca_gpt4_data,code_alpaca_20k", # use alpaca and identity datasets | |
| template="llama3", # use llama3 prompt template | |
| finetuning_type="lora", # use LoRA adapters to save memory | |
| lora_target="all", # attach LoRA adapters to all linear layers | |
| output_dir="llama3_lora", # the path to save LoRA adapters | |
| per_device | |
| _train_batch_size=2, | |
| per_device_eval_batch_size=2, | |
| max_steps=400, | |
| logging_steps=10, | |
| save_steps=100, | |
| save_total_limit=3, | |
| learning_rate=5e-5, | |
| max_grad_norm=0.3, | |
| weight_decay=0., | |
| warmup_ratio=0.03, | |
| lr_scheduler_type="cosine", | |
| fp16=True, # use fp16 mixed precision training | |
| gradient_accumulation_steps=4, | |
| ) | |
| args = json.dumps(args, indent=2) | |
| print(args) | |
| ``` | |
| </details> | |
| --- | |
| ## Environmental Impact | |
| Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700). | |
| - **Hardware Type:** Nvidia GeForce RTX 2060 & Nvidia Tesla T4 | |
| - **Hours used:** Approx. 50 mins | |
| - **Cloud Provider:** Google Colab | |
| - **Compute Region:** [Google Cloud Region] | |
| - **Carbon Emitted:** Approximately very small amount of ~can be ignored kg~ CO2 | |
| ## Technical Specifications | |
| ### Model Architecture and Objective | |
| The model is based on the LLaMA-3-8B-Instruct architecture and is fine-tuned for specific tasks including text generation, code generation, and language understanding. | |
| ### Compute Infrastructure | |
| #### Hardware | |
| - **Type:** Nvidia GeForce RTX 2060 and Nvidia Tesla T4 | |
| - **Operating System:** Ubuntu 21, windows11 & Google Colab | |
| - **Environment:** Google Colab Pro | |
| #### Software | |
| - **Frameworks:** PyTorch, Transformers | |
| ## Citation | |
| **BibTeX:** | |
| ### 1. **LLaMA Model**: | |
| ```bibtex | |
| @article{touvron2023llama, | |
| title={LLaMA: Open and Efficient Foundation Language Models}, | |
| author={META, Touvron, Hugo and others}, | |
| journal={arXiv preprint arXiv:2302.13971}, | |
| year={2023}, | |
| url={https://arxiv.org/abs/2302.13971} | |
| } | |
| ``` | |
| ### 2. **Transformers Library**: | |
| ```bibtex | |
| @article{wolf2019transformers, | |
| title={Transformers: State-of-the-Art Natural Language Processing}, | |
| author={Wolf, Thomas and others}, | |
| journal={arXiv preprint arXiv:1910.03771}, | |
| year={2019}, | |
| url={https://arxiv.org/abs/1910.03771} | |
| } | |
| ``` | |
| ### 3. **Hugging Face Hub**: | |
| ```bibtex | |
| @misc{huggingface, | |
| title={Hugging Face Hub}, | |
| author={{Hugging Face}}, | |
| year={2020}, | |
| url={https://huggingface.co} | |
| } | |
| ``` | |
| ### 4. **Data Sets**: | |
| #### Alpaca-GPT4: | |
| ```bibtex | |
| @misc{vicgalle2023alpaca, | |
| title={Alpaca-GPT4: A dataset for training conversational models}, | |
| author={Victor Gallego}, | |
| year={2024}, | |
| url={https://huggingface.co/datasets/vicgalle/alpaca-gpt4} | |
| } | |
| ``` | |
| #### CodeAlpaca-20k: | |
| ```bibtex | |
| @misc{sahil2023codealpaca, | |
| title={CodeAlpaca-20k: A dataset for code generation models}, | |
| author={Sahil Chaudhary}, | |
| year={2023}, | |
| url={https://huggingface.co/datasets/sahil2801/CodeAlpaca-20k} | |
| } | |
| ``` | |
| ### 5. **GPT-4-LLM**: | |
| ```bibtex | |
| @misc{instruction2023gpt4, | |
| title={Instruction-Tuning with GPT-4}, | |
| author={Baolin Peng*, Chunyuan Li*, Pengcheng He*, Michel Galley, Jianfeng Gao (*Equal Contribution)}, | |
| year={2023}, | |
| url={https://github.com/Instruction-Tuning-with-GPT-4/GPT-4-LLM} | |
| } | |
| ``` |