buildrestart commited on
Commit
0dee4f9
·
verified ·
1 Parent(s): a469226

Update model card

Browse files
Files changed (1) hide show
  1. README.md +136 -198
README.md CHANGED
@@ -1,210 +1,148 @@
1
  ---
2
- base_model: unsloth/meta-llama-3.1-8b-instruct-bnb-4bit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  library_name: peft
4
  pipeline_tag: text-generation
5
- tags:
6
- - base_model:adapter:unsloth/meta-llama-3.1-8b-instruct-bnb-4bit
7
- - lora
8
- - sft
9
- - transformers
10
- - trl
11
- - unsloth
12
- ---
13
 
14
- # Model Card for Model ID
15
-
16
- <!-- Provide a quick summary of what the model is/does. -->
17
 
 
18
 
 
19
 
20
  ## Model Details
21
 
22
- ### Model Description
23
-
24
- <!-- Provide a longer summary of what this model is. -->
25
-
26
-
27
-
28
- - **Developed by:** [More Information Needed]
29
- - **Funded by [optional]:** [More Information Needed]
30
- - **Shared by [optional]:** [More Information Needed]
31
- - **Model type:** [More Information Needed]
32
- - **Language(s) (NLP):** [More Information Needed]
33
- - **License:** [More Information Needed]
34
- - **Finetuned from model [optional]:** [More Information Needed]
35
-
36
- ### Model Sources [optional]
37
-
38
- <!-- Provide the basic links for the model. -->
39
-
40
- - **Repository:** [More Information Needed]
41
- - **Paper [optional]:** [More Information Needed]
42
- - **Demo [optional]:** [More Information Needed]
43
-
44
- ## Uses
45
-
46
- <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
47
-
48
- ### Direct Use
49
-
50
- <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
51
-
52
- [More Information Needed]
53
-
54
- ### Downstream Use [optional]
55
-
56
- <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
57
-
58
- [More Information Needed]
59
-
60
- ### Out-of-Scope Use
61
-
62
- <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
63
-
64
- [More Information Needed]
65
-
66
- ## Bias, Risks, and Limitations
67
-
68
- <!-- This section is meant to convey both technical and sociotechnical limitations. -->
69
-
70
- [More Information Needed]
71
-
72
- ### Recommendations
73
-
74
- <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
75
-
76
- Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
77
-
78
- ## How to Get Started with the Model
79
-
80
- Use the code below to get started with the model.
81
-
82
- [More Information Needed]
83
 
84
  ## Training Details
85
 
86
- ### Training Data
87
-
88
- <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
89
-
90
- [More Information Needed]
91
-
92
- ### Training Procedure
93
-
94
- <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
95
-
96
- #### Preprocessing [optional]
97
-
98
- [More Information Needed]
99
-
100
-
101
- #### Training Hyperparameters
102
-
103
- - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
104
-
105
- #### Speeds, Sizes, Times [optional]
106
-
107
- <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
108
-
109
- [More Information Needed]
110
-
111
- ## Evaluation
112
-
113
- <!-- This section describes the evaluation protocols and provides the results. -->
114
-
115
- ### Testing Data, Factors & Metrics
116
-
117
- #### Testing Data
118
-
119
- <!-- This should link to a Dataset Card if possible. -->
120
-
121
- [More Information Needed]
122
-
123
- #### Factors
124
-
125
- <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
126
-
127
- [More Information Needed]
128
-
129
- #### Metrics
130
-
131
- <!-- These are the evaluation metrics being used, ideally with a description of why. -->
132
-
133
- [More Information Needed]
134
-
135
- ### Results
136
-
137
- [More Information Needed]
138
-
139
- #### Summary
140
-
141
-
142
-
143
- ## Model Examination [optional]
144
-
145
- <!-- Relevant interpretability work for the model goes here -->
146
-
147
- [More Information Needed]
148
-
149
- ## Environmental Impact
150
-
151
- <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
152
-
153
- 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).
154
-
155
- - **Hardware Type:** [More Information Needed]
156
- - **Hours used:** [More Information Needed]
157
- - **Cloud Provider:** [More Information Needed]
158
- - **Compute Region:** [More Information Needed]
159
- - **Carbon Emitted:** [More Information Needed]
160
-
161
- ## Technical Specifications [optional]
162
-
163
- ### Model Architecture and Objective
164
-
165
- [More Information Needed]
166
-
167
- ### Compute Infrastructure
168
-
169
- [More Information Needed]
170
-
171
- #### Hardware
172
-
173
- [More Information Needed]
174
-
175
- #### Software
176
-
177
- [More Information Needed]
178
-
179
- ## Citation [optional]
180
-
181
- <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
182
-
183
- **BibTeX:**
184
-
185
- [More Information Needed]
186
-
187
- **APA:**
188
-
189
- [More Information Needed]
190
-
191
- ## Glossary [optional]
192
-
193
- <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
194
-
195
- [More Information Needed]
196
-
197
- ## More Information [optional]
198
-
199
- [More Information Needed]
200
-
201
- ## Model Card Authors [optional]
202
-
203
- [More Information Needed]
204
-
205
- ## Model Card Contact
206
-
207
- [More Information Needed]
208
- ### Framework versions
209
-
210
- - PEFT 0.18.1
 
1
  ---
2
+ license: llama3.1
3
+ base_model: meta-llama/Meta-Llama-3.1-8B-Instruct
4
+ language:
5
+ - en
6
+ tags:
7
+ - llama-3.1
8
+ - lora
9
+ - qlora
10
+ - peft
11
+ - unsloth
12
+ - bhagavad-gita
13
+ - hinduism
14
+ - philosophy
15
+ - spiritual
16
+ - fine-tuned
17
  library_name: peft
18
  pipeline_tag: text-generation
 
 
 
 
 
 
 
 
19
 
20
+ ---
 
 
21
 
22
+ # Llama 3.1 8B — Bhagavad Gita Guide
23
 
24
+ A QLoRA fine-tune of [Meta-Llama-3.1-8B-Instruct](https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct) trained to answer questions about the Bhagavad Gita — its verses, philosophy, characters, and teachings.
25
 
26
  ## Model Details
27
 
28
+ | Property | Value |
29
+ |---|---|
30
+ | Base model | `meta-llama/Meta-Llama-3.1-8B-Instruct` |
31
+ | Fine-tune method | QLoRA (4-bit NF4 + LoRA) via Unsloth |
32
+ | LoRA rank / alpha | r=32, α=64 (RSLoRA) |
33
+ | LoRA target modules | q, k, v, o, gate, up, down projections |
34
+ | Adapter size | ~321 MB |
35
+ | Max sequence length | 2048 |
36
+ | Precision | bfloat16 + TF32 |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
 
38
  ## Training Details
39
 
40
+ | Property | Value |
41
+ |---|---|
42
+ | Epochs | 3 |
43
+ | Train examples | 3,801 |
44
+ | Validation examples | 422 |
45
+ | Effective batch size | 512 (8 × grad_accum 64) |
46
+ | Learning rate | 2e-4 (cosine, 5% warmup) |
47
+ | Optimizer | AdamW 8-bit |
48
+ | Train loss | 1.277 |
49
+ | Eval loss | 0.924 |
50
+
51
+
52
+ ## Usage
53
+
54
+ ### Load the adapter (recommended — memory efficient)
55
+
56
+ ```python
57
+ import torch
58
+ from transformers import AutoTokenizer, AutoModelForCausalLM
59
+ from peft import PeftModel
60
+
61
+ base_model_id = "meta-llama/Meta-Llama-3.1-8B-Instruct"
62
+ adapter_id = "buildrestart/Gitallama"
63
+
64
+ tokenizer = AutoTokenizer.from_pretrained(base_model_id)
65
+ model = AutoModelForCausalLM.from_pretrained(
66
+ base_model_id,
67
+ torch_dtype=torch.bfloat16,
68
+ device_map="auto",
69
+ load_in_4bit=True,
70
+ )
71
+ model = PeftModel.from_pretrained(model, adapter_id)
72
+ model.eval()
73
+ ```
74
+
75
+ ### Generate a response
76
+
77
+ ```python
78
+ SYSTEM_PROMPT = (
79
+ "You are a knowledgeable guide on the Bhagavad Gita, the ancient Hindu scripture "
80
+ "containing the dialogue between Prince Arjuna and Lord Krishna. Provide thoughtful, "
81
+ "accurate explanations of its verses, teachings, and philosophical concepts."
82
+ )
83
+
84
+ messages = [
85
+ {"role": "system", "content": SYSTEM_PROMPT},
86
+ {"role": "user", "content": "What does the Bhagavad Gita teach about karma?"},
87
+ ]
88
+
89
+ prompt = tokenizer.apply_chat_template(
90
+ messages, tokenize=False, add_generation_prompt=True
91
+ )
92
+ inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
93
+
94
+ with torch.no_grad():
95
+ output = model.generate(
96
+ **inputs,
97
+ max_new_tokens=500,
98
+ temperature=0.7,
99
+ top_p=0.9,
100
+ do_sample=True,
101
+ pad_token_id=tokenizer.eos_token_id,
102
+ )
103
+
104
+ response = tokenizer.decode(
105
+ output[0][inputs["input_ids"].shape[1]:],
106
+ skip_special_tokens=True,
107
+ )
108
+ print(response)
109
+ ```
110
+
111
+ ### Using Unsloth (2× faster inference)
112
+
113
+ ```python
114
+ import torch
115
+ from unsloth import FastLanguageModel
116
+ from peft import PeftModel
117
+
118
+ model, tokenizer = FastLanguageModel.from_pretrained(
119
+ model_name="unsloth/meta-llama-3.1-8b-instruct-bnb-4bit",
120
+ max_seq_length=2048,
121
+ dtype=torch.bfloat16,
122
+ load_in_4bit=True,
123
+ )
124
+ model = PeftModel.from_pretrained(model, "buildrestart/Gitallama")
125
+ model = model.merge_and_unload()
126
+ FastLanguageModel.for_inference(model)
127
+ ```
128
+
129
+ ## Example Outputs
130
+
131
+ **Q: What is the central message of the Bhagavad Gita?**
132
+
133
+ > The central message of the Bhagavad Gita is the path of self-realization and liberation through the practice of yoga, which is often interpreted as a path of devotion, knowledge, and action. The Gita emphasizes the importance of fulfilling one's duties (dharma) without attachment to the outcomes, and it teaches the concept of non-attachment (vairagya) to worldly possessions and desires...
134
+
135
+ **Q: Why was Arjuna reluctant to fight at Kurukshetra?**
136
+
137
+ > Arjuna was reluctant to fight because he was torn between his duty as a warrior (Kshatriya) and his personal feelings of compassion and non-violence. He was worried about killing his kin and friends, and he questioned the purpose of war. Krishna addressed Arjuna's doubts by explaining the concept of dharma (duty) and the inevitability of change...
138
+
139
+ ## Limitations
140
+
141
+ - Trained on ~4K examples; may give brief answers on less common topics.
142
+ - Knowledge is limited to the Bhagavad Gita — not a general Hindu scripture expert.
143
+ - As with all LLMs, outputs should be verified against authoritative translations for scholarly use.
144
+
145
+ ## License
146
+
147
+ This adapter inherits the [Llama 3.1 Community License](https://llama.meta.com/llama3_1/license/).
148
+ The training data is sourced from public domain and permissively licensed HuggingFace datasets.