Ningyu commited on
Commit
8895aa0
·
verified ·
1 Parent(s): 065fd8d

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +111 -81
README.md CHANGED
@@ -1,81 +1,111 @@
1
- ---
2
- license: mit
3
- pipeline_tag: text-generation
4
- tags:
5
- - ocean
6
- - text-generation-inference
7
- - oceangpt
8
- language:
9
- - en
10
- datasets:
11
- - zjunlp/OceanBench
12
- ---
13
-
14
- ## 💡 Model description
15
- This repo contains a large language model (OceanGPT) for ocean science tasks trained with [KnowLM](https://github.com/zjunlp/KnowLM).
16
- It should be noted that the OceanGPT is constantly being updated, so the current model is not the final version.
17
-
18
- OceanGPT-7B-v0.2 is based on Qwen2-7B and trained on a bilingual dataset in Chinese and English.
19
- ## 🔍 Intended uses
20
- You can download the model to generate responses or contact the [email](bizhen_zju@zju.edu.cn) for the online test demo.
21
-
22
- ## 🛠️ How to use OceanGPT
23
- We wil provide several examples soon and you can modify the input according to your needs.
24
-
25
- ```python
26
- from transformers import AutoModelForCausalLM, AutoTokenizer
27
- import torch
28
- device = "cuda" # the device to load the model onto
29
-
30
- model = AutoModelForCausalLM.from_pretrained(
31
- "zjunlp/OceanGPT-7B-v0.2",
32
- torch_dtype=torch.bfloat16,
33
- device_map="auto"
34
- )
35
- tokenizer = AutoTokenizer.from_pretrained("zjunlp/OceanGPT-7B-v0.2")
36
-
37
- prompt = "Which is the largest ocean in the world?"
38
- messages = [
39
- {"role": "system", "content": "You are a helpful assistant."},
40
- {"role": "user", "content": prompt}
41
- ]
42
- text = tokenizer.apply_chat_template(
43
- messages,
44
- tokenize=False,
45
- add_generation_prompt=True
46
- )
47
- model_inputs = tokenizer([text], return_tensors="pt").to(device)
48
-
49
- generated_ids = model.generate(
50
- model_inputs.input_ids,
51
- max_new_tokens=512
52
- )
53
- generated_ids = [
54
- output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
55
- ]
56
-
57
- response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
58
- ```
59
-
60
- ## 🛠️ How to evaluate your model in OceanBench
61
-
62
- We wil provide several examples soon and you can modify the input according to your needs.
63
-
64
- *Note: We are conducting the final checks on OceanBench and will be uploading it to Hugging Face soon.
65
-
66
- ```python
67
- >>> from datasets import load_dataset
68
-
69
- >>> dataset = load_dataset("zjunlp/OceanBench")
70
- ```
71
-
72
- ## 📚 How to cite
73
-
74
- ```bibtex
75
- @article{bi2023oceangpt,
76
- title={OceanGPT: A Large Language Model for Ocean Science Tasks},
77
- author={Bi, Zhen and Zhang, Ningyu and Xue, Yida and Ou, Yixin and Ji, Daxiong and Zheng, Guozhou and Chen, Huajun},
78
- journal={arXiv preprint arXiv:2310.02031},
79
- year={2023}
80
- }
81
- ```
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ pipeline_tag: text-generation
4
+ tags:
5
+ - ocean
6
+ - text-generation-inference
7
+ - oceangpt
8
+ language:
9
+ - en
10
+ datasets:
11
+ - zjunlp/OceanBench
12
+ ---
13
+
14
+ <div align="center">
15
+ <img src="logo.jpg" width="300px">
16
+
17
+ **OceanGPT: A Large Language Model for Ocean Science Tasks**
18
+
19
+ <p align="center">
20
+ <a href="https://github.com/zjunlp/OceanGPT">Project</a>
21
+ <a href="https://arxiv.org/abs/2310.02031">Paper</a> •
22
+ <a href="https://huggingface.co/collections/zjunlp/oceangpt-664cc106358fdd9f09aa5157">Models</a>
23
+ <a href="http://oceangpt.zjukg.cn/#model">Web</a>
24
+ <a href="#quickstart">Quickstart</a> •
25
+ <a href="#citation">Citation</a>
26
+ </p>
27
+
28
+
29
+ </div>
30
+
31
+ OceanGPT-14B-v0.1 is based on Qwen1.5-14B and has been trained on a bilingual dataset in the ocean domain, covering both Chinese and English.
32
+
33
+
34
+ ## ⏩Quickstart
35
+ ### Download the model
36
+
37
+ Download the model: [OceanGPT-7b-v0.2](https://huggingface.co/zjunlp/OceanGPT-7b-v0.2)
38
+
39
+ ```shell
40
+ git lfs install
41
+ git clone https://huggingface.co/zjunlp/OceanGPT-7b-v0.2
42
+ ```
43
+ or
44
+ ```
45
+ huggingface-cli download --resume-download zjunlp/OceanGPT-7b-v0.2 --local-dir OceanGPT-7b-v0.2 --local-dir-use-symlinks False
46
+ ```
47
+ ### Inference
48
+
49
+ ```python
50
+ from transformers import AutoModelForCausalLM, AutoTokenizer
51
+ import torch
52
+ device = "cuda" # the device to load the model onto
53
+ path = 'YOUR-MODEL-PATH'
54
+ model = AutoModelForCausalLM.from_pretrained(
55
+ path,
56
+ torch_dtype=torch.bfloat16,
57
+ device_map="auto"
58
+ )
59
+ tokenizer = AutoTokenizer.from_pretrained(path)
60
+
61
+ prompt = "Which is the largest ocean in the world?"
62
+ messages = [
63
+ {"role": "system", "content": "You are a helpful assistant."},
64
+ {"role": "user", "content": prompt}
65
+ ]
66
+ text = tokenizer.apply_chat_template(
67
+ messages,
68
+ tokenize=False,
69
+ add_generation_prompt=True
70
+ )
71
+ model_inputs = tokenizer([text], return_tensors="pt").to(device)
72
+
73
+ generated_ids = model.generate(
74
+ model_inputs.input_ids,
75
+ max_new_tokens=512
76
+ )
77
+ generated_ids = [
78
+ output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
79
+ ]
80
+
81
+ response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
82
+ ```
83
+
84
+ ## 📌Models
85
+
86
+ | Model Name | HuggingFace | WiseModel | ModelScope |
87
+ |-------------------|-----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|
88
+ | OceanGPT-14B-v0.1 (based on Qwen) | <a href="https://huggingface.co/zjunlp/OceanGPT-14B-v0.1" target="_blank">14B</a> | <a href="https://wisemodel.cn/models/zjunlp/OceanGPT-14B-v0.1" target="_blank">14B</a> | <a href="https://modelscope.cn/models/ZJUNLP/OceanGPT-14B-v0.1" target="_blank">14B</a> |
89
+ | OceanGPT-7B-v0.2 (based on Qwen) | <a href="https://huggingface.co/zjunlp/OceanGPT-7b-v0.2" target="_blank">7B</a> | <a href="https://wisemodel.cn/models/zjunlp/OceanGPT-7b-v0.2" target="_blank">7B</a> | <a href="https://modelscope.cn/models/ZJUNLP/OceanGPT-7b-v0.2" target="_blank">7B</a> |
90
+ | OceanGPT-2B-v0.1 (based on MiniCPM) | <a href="https://huggingface.co/zjunlp/OceanGPT-2B-v0.1" target="_blank">2B</a> | <a href="https://wisemodel.cn/models/zjunlp/OceanGPT-2b-v0.1" target="_blank">2B</a> | <a href="https://modelscope.cn/models/ZJUNLP/OceanGPT-2B-v0.1" target="_blank">2B</a> |
91
+ | OceanGPT-V | To be released | To be released | To be released |
92
+ ---
93
+
94
+ ## 🌻Acknowledgement
95
+
96
+ OceanGPT is trained based on the open-sourced large language models including [Qwen](https://huggingface.co/Qwen), [MiniCPM](https://huggingface.co/collections/openbmb/minicpm-2b-65d48bf958302b9fd25b698f), [LLaMA](https://huggingface.co/meta-llama). Thanks for their great contributions!
97
+
98
+
99
+ ### 🚩Citation
100
+
101
+ Please cite the following paper if you use OceanGPT in your work.
102
+
103
+ ```bibtex
104
+ @article{bi2023oceangpt,
105
+ title={OceanGPT: A Large Language Model for Ocean Science Tasks},
106
+ author={Bi, Zhen and Zhang, Ningyu and Xue, Yida and Ou, Yixin and Ji, Daxiong and Zheng, Guozhou and Chen, Huajun},
107
+ journal={arXiv preprint arXiv:2310.02031},
108
+ year={2023}
109
+ }
110
+
111
+ ```