metadata
license: mit
pipeline_tag: text-generation
tags:
- ocean
- text-generation-inference
- oceangpt
language:
- en
datasets:
- zjunlp/OceanBench
OceanGPT: A Large Language Model for Ocean Science Tasks
Project • Paper • Models • Web • Overview • Quickstart • Citation
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.
Table of Contents
🔔News
- 2024-07-04, we release OceanGPT-14B/2B-v0.1 and OceanGPT-7B-v0.2 based on Qwen and MiniCPM.
- 2024-06-04, OceanGPT is accepted by ACL 2024. 🎉🎉
- 2023-10-04, we release the paper "OceanGPT: A Large Language Model for Ocean Science Tasks" and release OceanGPT-7B-v0.1 based on LLaMA2.
- 2023-05-01, we launch the OceanGPT project.
🌟Overview
This is the OceanGPT project, which aims to build LLMs for ocean science tasks.
⏩Quickstart
Download the model
Download the model: OceanGPT-14B-v0.1 or OceanGPT-7b-v0.2
git lfs install
git clone https://huggingface.co/zjunlp/OceanGPT-14B-v0.1
or
huggingface-cli download --resume-download zjunlp/OceanGPT-14B-v0.1 --local-dir OceanGPT-14B-v0.1 --local-dir-use-symlinks False
Inference
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) | 14B | 14B | 14B |
OceanGPT-7B-v0.2 (based on Qwen) | 7B | 7B | 7B |
OceanGPT-2B-v0.1 (based on MiniCPM) | 2B | 2B | 2B |
OceanGPT-V | To be released | To be released | To be released |
🌻Acknowledgement
OceanGPT is trained based on the open-sourced large language models including Qwen, MiniCPM, LLaMA. Thanks for their great contributions!
🚩Citation
Please cite the following paper if you use OceanGPT in your work.
@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}
}