File size: 5,073 Bytes
b2cf739 9307c59 b2cf739 9307c59 b2cf739 9307c59 333d119 b2cf739 3d228c1 b2cf739 196830f b2cf739 3d228c1 55588fa 3d228c1 4e29b01 3d228c1 4e29b01 3d228c1 4e29b01 d196a84 bcd5b5a 3d228c1 607c999 3d228c1 e7f8e67 3d228c1 53c1b62 3d228c1 53c1b62 3d228c1 53c1b62 3d228c1 7f86ba9 3d228c1 196830f 3d228c1 977e1b9 d196a84 3d228c1 bcd5b5a 3d228c1 9307c59 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
---
license: mit
pipeline_tag: text-generation
tags:
- ocean
- text-generation-inference
- oceangpt
language:
- en
datasets:
- zjunlp/OceanInstruct
---
<div align="center">
<img src="logo.jpg" width="300px">
**OceanGPT(沧渊): A Large Language Model for Ocean Science Tasks**
<p align="center">
<a href="https://github.com/zjunlp/OceanGPT">Project</a> •
<a href="https://arxiv.org/abs/2310.02031">Paper</a> •
<a href="https://huggingface.co/collections/zjunlp/oceangpt-664cc106358fdd9f09aa5157">Models</a> •
<a href="http://oceangpt.zjukg.cn/">Web</a> •
<a href="#quickstart">Quickstart</a> •
<a href="#citation">Citation</a>
</p>
</div>
OceanGPT-7b-v0.1 is based on LLaMA2 and has been trained on an English dataset in the ocean domain.
- ❗**Disclaimer: This project is purely an academic exploration rather than a product. Please be aware that due to the inherent limitations of large language models, there may be issues such as hallucinations.**
## ⏩Quickstart
### Download the model
Download the model: [OceanGPT-7b-v0.1](https://huggingface.co/zjunlp/OceanGPT-7b-v0.1)
```shell
git lfs install
git clone https://huggingface.co/zjunlp/OceanGPT-7b-v0.1
```
or
```
huggingface-cli download --resume-download zjunlp/OceanGPT-7b-v0.1 --local-dir OceanGPT-7b-v0.1 --local-dir-use-symlinks False
```
### Inference
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
device = "cuda" # the device to load the model onto
path = 'YOUR-MODEL-PATH'
model = AutoModelForCausalLM.from_pretrained(
path,
torch_dtype=torch.bfloat16,
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(path)
prompt = "Which is the largest ocean in the world?"
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)
generated_ids = model.generate(
model_inputs.input_ids,
max_new_tokens=512
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
```
## 📌Models
| Model Name | HuggingFace | WiseModel | ModelScope |
|-------------------|-----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|
| 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> |
| 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> |
| 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> |
## 🌻Acknowledgement
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!
## Limitations
- The model may have hallucination issues.
- We did not optimize the identity and the model may generate identity information similar to that of Qwen/MiniCPM/LLaMA/GPT series models.
- The model's output is influenced by prompt tokens, which may result in inconsistent results across multiple attempts.
- The model requires the inclusion of specific simulator code instructions for training in order to possess simulated embodied intelligence capabilities (the simulator is subject to copyright restrictions and cannot be made available for now), and its current capabilities are quite limited.
### 🚩Citation
Please cite the following paper if you use OceanGPT in your work.
```bibtex
@article{bi2023oceangpt,
title={OceanGPT: A Large Language Model for Ocean Science Tasks},
author={Bi, Zhen and Zhang, Ningyu and Xue, Yida and Ou, Yixin and Ji, Daxiong and Zheng, Guozhou and Chen, Huajun},
journal={arXiv preprint arXiv:2310.02031},
year={2023}
}
``` |