MurtazaNasir
commited on
Commit
•
e52dde0
1
Parent(s):
fc6ab59
Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: llama3
|
3 |
+
language:
|
4 |
+
- en
|
5 |
+
tags:
|
6 |
+
- finance
|
7 |
+
datasets:
|
8 |
+
- Open-Orca/OpenOrca
|
9 |
+
- GAIR/lima
|
10 |
+
- WizardLM/WizardLM_evol_instruct_V2_196k
|
11 |
+
---
|
12 |
+
|
13 |
+
Quantized to exl2 using Exllamav2 0.0.2
|
14 |
+
|
15 |
+
# Instruction Pre-Training: Language Models are Supervised Multitask Learners
|
16 |
+
This repo contains the **finance model developed from Llama3-8B** in our paper [Instruction Pre-Training: Language Models are Supervised Multitask Learners](https://huggingface.co/papers/2406.14491).
|
17 |
+
|
18 |
+
We explore supervised multitask pre-training by proposing ***Instruction Pre-Training***, a framework that scalably augments massive raw corpora with instruction-response pairs to pre-train language models. The instruction-response pairs are generated by an efficient instruction synthesizer built on open-source models. ***Instruction Pre-Training* outperforms *Vanilla Pre-training* in both general pre-training from scratch and domain-adaptive continual pre-training.** In pre-training from scratch, *Instruction Pre-Training* not only improves pre-trained base models but also benefits more from further instruction tuning. **In continual pre-training, *Instruction Pre-Training* enables Llama3-8B to be comparable to or even outperform Llama3-70B.**
|
19 |
+
|
20 |
+
<p align='center'>
|
21 |
+
<img src="https://cdn-uploads.huggingface.co/production/uploads/66711d2ee12fa6cc5f5dfc89/vRdsFIVQptbNaGiZ18Lih.png" width="400">
|
22 |
+
</p>
|
23 |
+
|
24 |
+
## Resources
|
25 |
+
**🤗 We share our data and models with example usages, feel free to open any issues or discussions! 🤗**
|
26 |
+
|
27 |
+
- Context-Based Instruction Synthesizer: [instruction-synthesizer](https://huggingface.co/instruction-pretrain/instruction-synthesizer)
|
28 |
+
- Fine-Tuning Data for the Synthesizer: [ft-instruction-synthesizer-collection](https://huggingface.co/datasets/instruction-pretrain/ft-instruction-synthesizer-collection)
|
29 |
+
- General Models Pre-Trained from Scratch:
|
30 |
+
- [InstructLM-500M](https://huggingface.co/instruction-pretrain/InstructLM-500M)
|
31 |
+
- [InstructLM-1.3B](https://huggingface.co/instruction-pretrain/InstructLM-1.3B)
|
32 |
+
- Domain-Specific Models Pre-Trained from Llama3-8B:
|
33 |
+
- [Finance-Llama3-8B](https://huggingface.co/instruction-pretrain/finance-Llama3-8B)
|
34 |
+
- [Biomedicine-Llama3-8B](https://huggingface.co/instruction-pretrain/medicine-Llama3-8B)
|
35 |
+
- General Instruction-Augmented Corpora: [general-instruction-augmented-corpora](https://huggingface.co/datasets/instruction-pretrain/general-instruction-augmented-corpora)
|
36 |
+
- Domain-Specific Instruction-Augmented Corpora (no finance data to avoid ethical issues): [medicine-instruction-augmented-corpora](https://huggingface.co/datasets/instruction-pretrain/medicine-instruction-augmented-corpora)
|
37 |
+
|
38 |
+
|
39 |
+
## Domain-Adaptive Continued Pre-Training
|
40 |
+
Following [AdaptLLM](https://huggingface.co/AdaptLLM/finance-chat), we augment the domain-specific raw corpora with instruction-response pairs generated by our [context-based instruction synthesizer](https://huggingface.co/instruction-pretrain/instruction-synthesizer).
|
41 |
+
|
42 |
+
### 1. To chat with the finance-Llama3-8B model:
|
43 |
+
```python
|
44 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
45 |
+
|
46 |
+
model = AutoModelForCausalLM.from_pretrained("instruction-pretrain/finance-Llama3-8B")
|
47 |
+
tokenizer = AutoTokenizer.from_pretrained("instruction-pretrain/finance-Llama3-8B")
|
48 |
+
|
49 |
+
# Put your input here, NO prompt template is required
|
50 |
+
user_input = '''Use this fact to answer the question: Title of each class Trading Symbol(s) Name of each exchange on which registered
|
51 |
+
Common Stock, Par Value $.01 Per Share MMM New York Stock Exchange
|
52 |
+
MMM Chicago Stock Exchange, Inc.
|
53 |
+
1.500% Notes due 2026 MMM26 New York Stock Exchange
|
54 |
+
1.750% Notes due 2030 MMM30 New York Stock Exchange
|
55 |
+
1.500% Notes due 2031 MMM31 New York Stock Exchange
|
56 |
+
|
57 |
+
Which debt securities are registered to trade on a national securities exchange under 3M's name as of Q2 of 2023?'''
|
58 |
+
|
59 |
+
inputs = tokenizer(user_input, return_tensors="pt", add_special_tokens=True).input_ids.to(model.device)
|
60 |
+
outputs = model.generate(input_ids=inputs, max_new_tokens=400)[0]
|
61 |
+
|
62 |
+
answer_start = int(inputs.shape[-1])
|
63 |
+
pred = tokenizer.decode(outputs[answer_start:], skip_special_tokens=True)
|
64 |
+
|
65 |
+
print(pred)
|
66 |
+
```
|
67 |
+
|
68 |
+
### 2. To evaluate our models on the domain-specific tasks
|
69 |
+
1. Set up dependencies
|
70 |
+
```bash
|
71 |
+
git clone https://github.com/microsoft/LMOps
|
72 |
+
cd LMOps/adaptllm
|
73 |
+
pip install -r requirements.txt
|
74 |
+
```
|
75 |
+
|
76 |
+
2. Evaluate
|
77 |
+
```bash
|
78 |
+
DOMAIN='finance'
|
79 |
+
|
80 |
+
# if the model can fit on a single GPU: set MODEL_PARALLEL=False
|
81 |
+
# elif the model is too large to fit on a single GPU: set MODEL_PARALLEL=True
|
82 |
+
MODEL_PARALLEL=False
|
83 |
+
|
84 |
+
# number of GPUs, chosen from [1,2,4,8]
|
85 |
+
N_GPU=1
|
86 |
+
|
87 |
+
# Set as True
|
88 |
+
add_bos_token=True
|
89 |
+
|
90 |
+
bash scripts/inference.sh ${DOMAIN} 'instruction-pretrain/finance-Llama3-8B' ${add_bos_token} ${MODEL_PARALLEL} ${N_GPU}
|
91 |
+
```
|
92 |
+
|
93 |
+
## Citation
|
94 |
+
If you find our work helpful, please cite us:
|
95 |
+
|
96 |
+
[AdaptLLM](https://huggingface.co/papers/2309.09530)
|
97 |
+
```bibtex
|
98 |
+
@inproceedings{
|
99 |
+
cheng2024adapting,
|
100 |
+
title={Adapting Large Language Models via Reading Comprehension},
|
101 |
+
author={Daixuan Cheng and Shaohan Huang and Furu Wei},
|
102 |
+
booktitle={The Twelfth International Conference on Learning Representations},
|
103 |
+
year={2024},
|
104 |
+
url={https://openreview.net/forum?id=y886UXPEZ0}
|
105 |
+
}
|
106 |
+
```
|