Aplikasi Komersial | ?MemelukWajah | ?Perbarui Berita | ?Pelaporan Masalah | Laporan Teknis
Obrolan Web | ?API | ?Pemodel
Bahasa Inggris | 简体中文
bergabunglah dengan kami di Discord dan WeChat
Seri InternLM2.5 dirilis dengan fitur berikut:
Kemampuan penalaran yang luar biasa : Performa canggih dalam penalaran Matematika, melampaui model seperti Llama3 dan Gemma2-9B.
Jendela Konteks 1M : Hampir sempurna dalam menemukan jarum di tumpukan jerami dengan konteks sepanjang 1M, dengan kinerja terdepan pada tugas konteks panjang seperti LongBench. Cobalah dengan LMDeploy untuk inferensi konteks 1 juta. Detail lebih lanjut dan demo obrolan file dapat ditemukan di sini.
Penggunaan alat yang lebih kuat : InternLM2.5 mendukung pengumpulan informasi dari lebih dari 100 halaman web, implementasi terkait akan segera dirilis di Lagent. InternLM2.5 memiliki kemampuan terkait pemanfaatan alat yang lebih baik dalam mengikuti instruksi, pemilihan alat, dan refleksi. Lihat contoh.
[2024.08.01] Kami merilis InternLM2.5-1.8B, InternLM2.5-1.8B-Chat, InternLM2.5-20B dan InternLM2.5-20B-Chat. Lihat model kebun binatang di bawah untuk mengunduh atau kartu model untuk lebih jelasnya.
[2024.07.19] Kami merilis seri model hadiah InternLM2-Reward dalam ukuran 1,8B, 7B, dan 20B. Lihat model kebun binatang di bawah untuk mengunduh atau kartu model untuk lebih jelasnya.
[2024.07.03] Kami merilis InternLM2.5-7B, InternLM2.5-7B-Chat dan InternLM2.5-7B-Chat-1M. Lihat model kebun binatang di bawah untuk mengunduh atau kartu model untuk lebih jelasnya.
[26.03.2024] Kami merilis laporan teknis InternLM2. Lihat arXiv untuk detailnya.
[31.01.2024] Kami merilis InternLM2-1.8B, bersama dengan model obrolan terkait. Mereka memberikan opsi penerapan yang lebih murah sambil mempertahankan kinerja terdepan.
[23.01.2024] Kami merilis InternLM2-Math-7B dan InternLM2-Math-20B dengan pos pemeriksaan pra-pelatihan dan SFT. Mereka melampaui ChatGPT dengan ukuran kecil. Lihat InternLM-Math untuk detail dan unduh.
[2024.01.17] Kami merilis InternLM2-7B dan InternLM2-20B serta model obrolan terkait dengan kemampuan yang lebih kuat di semua dimensi. Lihat model kebun binatang di bawah untuk mengunduh atau kartu model untuk lebih jelasnya.
[2023.12.13] Pos pemeriksaan InternLM-7B-Chat dan InternLM-20B-Chat diperbarui. Dengan strategi penyempurnaan yang lebih baik, model obrolan baru dapat menghasilkan respons berkualitas lebih tinggi dengan keragaman gaya yang lebih besar.
[2023.09.20] InternLM-20B dirilis dengan versi dasar dan obrolan.
Model | Transformer (HF) | Lingkup Model (HF) | BukaXLab(HF) | OpenXLab (Asal) | Tanggal Rilis |
---|---|---|---|---|---|
MagangLM2.5-1.8B | ?maganglm2_5-1_8b | maganglm2_5-1_8b | 05-08-2024 | ||
MagangLM2.5-1.8B-Obrolan | ?internlm2_5-1_8b-obrolan | maganglm2_5-1_8b-obrolan | 05-08-2024 | ||
MagangLM2.5-7B | ?maganglm2_5-7b | maganglm2_5-7b | 03-07-2024 | ||
MagangLM2.5-7B-Obrolan | ?internlm2_5-7b-obrolan | maganglm2_5-7b-obrolan | 03-07-2024 | ||
MagangLM2.5-7B-Obrolan-1M | ?internlm2_5-7b-chat-1m | maganglm2_5-7b-chat-1m | 03-07-2024 | ||
MagangLM2.5-20B | ?maganglm2_5-20b | maganglm2_5-20b | 05-08-2024 | ||
MagangLM2.5-20B-Obrolan | ?internlm2_5-20b-obrolan | maganglm2_5-20b-obrolan | 05-08-2024 |
Catatan:
Rilis seri InternLM2.5 berisi versi 1.8B, 7B, dan 20B. Model 7B efisien untuk penelitian dan penerapan, sedangkan model 20B lebih canggih dan dapat mendukung skenario yang lebih kompleks. Hubungan model-model tersebut ditunjukkan sebagai berikut.
Keterbatasan: Meskipun kami telah melakukan upaya untuk memastikan keamanan model selama proses pelatihan dan mendorong model untuk menghasilkan teks yang mematuhi persyaratan etika dan hukum, model tersebut mungkin masih menghasilkan keluaran yang tidak diharapkan karena ukuran dan paradigma pembuatan probabilistiknya. Misalnya, tanggapan yang dihasilkan mungkin berisi bias, diskriminasi, atau konten berbahaya lainnya. Mohon untuk tidak menyebarkan konten seperti itu. Kami tidak bertanggung jawab atas segala akibat yang diakibatkan oleh penyebaran informasi berbahaya.
Suplemen: HF
mengacu pada format yang digunakan oleh HuggingFace di transformer, sedangkan Origin
menunjukkan format yang diadopsi oleh tim InternLM di InternEvo.
InternLM2-Reward adalah serangkaian model penghargaan, yang dilatih pada 2,4 juta sampel preferensi, tersedia dalam ukuran 1,8B, 7B, dan 20B. Model ini diterapkan pada proses pelatihan PPO model obrolan kami. Lihat kartu model untuk lebih jelasnya.
Model | Skor RewardBench | Transformer (HF) | Lingkup Model (HF) | BukaXLab(HF) | Tanggal Rilis |
---|---|---|---|---|---|
MagangLM2-1.8B-Hadiah | 80.6 | ?maganglm2-1_8b-hadiah | maganglm2-1_8b-hadiah | 19-07-2024 | |
MagangLM2-7B-Hadiah | 86.6 | ?internlm2-7b-hadiah | maganglm2-7b-hadiah | 19-07-2024 | |
MagangLM2-20B-Hadiah | 89,5 | ?internlm2-20b-hadiah | maganglm2-20b-hadiah | 19-07-2024 |
Model generasi kami sebelumnya dengan kemampuan tingkat lanjut dalam pemrosesan konteks panjang, penalaran, dan pengkodean. Lihat kartu model untuk lebih jelasnya.
Model | Transformer (HF) | Lingkup Model (HF) | BukaXLab(HF) | OpenXLab (Asal) | Tanggal Rilis |
---|---|---|---|---|---|
MagangLM2-1.8B | ?maganglm2-1.8b | maganglm2-1.8b | 31-01-2024 | ||
MagangLM2-Obrolan-1.8B-SFT | ?internlm2-chat-1.8b-sft | maganglm2-chat-1.8b-sft | 31-01-2024 | ||
MagangLM2-Obrolan-1.8B | ?internlm2-chat-1.8b | maganglm2-obrolan-1.8b | 19-02-2024 | ||
MagangLM2-Base-7B | ?internlm2-base-7b | maganglm2-base-7b | 17-01-2024 | ||
MagangLM2-7B | ?maganglm2-7b | maganglm2-7b | 17-01-2024 | ||
MagangLM2-Obrolan-7B-SFT | ?internlm2-chat-7b-sft | maganglm2-chat-7b-sft | 17-01-2024 | ||
MagangLM2-Obrolan-7B | ?internlm2-obrolan-7b | maganglm2-obrolan-7b | 17-01-2024 | ||
MagangLM2-Base-20B | ?internlm2-base-20b | maganglm2-base-20b | 17-01-2024 | ||
MagangLM2-20B | ?maganglm2-20b | maganglm2-20b | 17-01-2024 | ||
MagangLM2-Obrolan-20B-SFT | ?internlm2-chat-20b-sft | maganglm2-chat-20b-sft | 17-01-2024 | ||
MagangLM2-Obrolan-20B | ?internlm2-obrolan-20b | maganglm2-obrolan-20b | 17-01-2024 |
Kami telah mengevaluasi InternLM2.5 berdasarkan beberapa tolok ukur penting menggunakan alat evaluasi sumber terbuka OpenCompass. Beberapa hasil evaluasi ditunjukkan pada tabel di bawah ini. Anda dipersilakan untuk mengunjungi Papan Peringkat OpenCompass untuk hasil evaluasi lebih lanjut.
Tolok ukur | MagangLM2.5-7B | Llama3-8B | Yi-1.5-9B |
---|---|---|---|
MMLU (5 tembakan) | 71.6 | 66.4 | 71.6 |
CMMLU (5 tembakan) | 79.1 | 51.0 | 74.1 |
BBH (3 tembakan) | 70.1 | 59.7 | 71.1 |
MATEMATIKA (4 tembakan) | 34.0 | 16.4 | 31.9 |
GSM8K (4 bidikan) | 74.8 | 54.3 | 74.5 |
GPQA (0 tembakan) | 31.3 | 31.3 | 27.8 |
Tolok ukur | MagangLM2.5-7B-Obrolan | Llama3-8B-Instruksikan | Gemma2-9B-IT | Yi-1.5-9B-Obrolan | GLM-4-9B-Obrolan | Qwen2-7B-Instruksikan |
---|---|---|---|---|---|---|
MMLU (5 tembakan) | 72.8 | 68.4 | 70.9 | 71.0 | 71.4 | 70.8 |
CMMLU (5 tembakan) | 78.0 | 53.3 | 60.3 | 74.5 | 74.5 | 80.9 |
BBH (CoT 3 tembakan) | 71.6 | 54.4 | 68,2* | 69.6 | 69.6 | 65.0 |
MATEMATIKA (CoT 0-shot) | 60.1 | 27.9 | 46.9 | 51.1 | 51.1 | 48.6 |
GSM8K (CoT 0-shot) | 86.0 | 72.9 | 88.9 | 80.1 | 85.3 | 82.9 |
GPQA (0 tembakan) | 38.4 | 26.1 | 33.8 | 37.9 | 36.9 | 38.4 |
ppl
untuk evaluasi MCQ pada model dasar.InternLM mendukung beragam proyek hulu dan hilir terkenal, seperti LLaMA-Factory, vLLM, llama.cpp, dan banyak lagi. Dukungan ini memungkinkan spektrum pengguna yang luas untuk memanfaatkan model seri InternLM secara lebih efisien dan nyaman. Tutorial untuk proyek ekosistem terpilih tersedia di sini untuk kenyamanan Anda.
Pada bab berikutnya, kami akan fokus pada penggunaan Transformers, ModelScope, dan demo Web. Model obrolan mengadopsi format chatml untuk mendukung aplikasi obrolan dan agen. Untuk memastikan efek penggunaan yang lebih baik, pastikan versi pustaka transformator yang diinstal memenuhi persyaratan berikut sebelum melakukan inferensi dengan Transformers atau ModelScope:
transformers >= 4.38
Untuk memuat model InternLM2.5-7B-Chat menggunakan Transformers, gunakan kode berikut:
import torch
from transformers import AutoTokenizer , AutoModelForCausalLM
tokenizer = AutoTokenizer . from_pretrained ( "internlm/internlm2_5-7b-chat" , trust_remote_code = True )
# Set `torch_dtype=torch.float16` to load model in float16, otherwise it will be loaded as float32 and might cause OOM Error.
model = AutoModelForCausalLM . from_pretrained ( "internlm/internlm2_5-7b-chat" , device_map = "auto" , trust_remote_code = True , torch_dtype = torch . float16 )
# (Optional) If on low resource devices, you can load model in 4-bit or 8-bit to further save GPU memory via bitsandbytes.
# InternLM 7B in 4bit will cost nearly 8GB GPU memory.
# pip install -U bitsandbytes
# 8-bit: model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto", trust_remote_code=True, load_in_8bit=True)
# 4-bit: model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto", trust_remote_code=True, load_in_4bit=True)
model = model . eval ()
response , history = model . chat ( tokenizer , "hello" , history = [])
print ( response )
# Output: Hello? How can I help you today?
response , history = model . chat ( tokenizer , "please provide three suggestions about time management" , history = history )
print ( response )
Untuk memuat model InternLM2.5-7B-Chat menggunakan ModelScope, gunakan kode berikut:
import torch
from modelscope import snapshot_download , AutoTokenizer , AutoModelForCausalLM
model_dir = snapshot_download ( 'Shanghai_AI_Laboratory/internlm2_5-7b-chat' )
tokenizer = AutoTokenizer . from_pretrained ( model_dir , device_map = "auto" , trust_remote_code = True )
# Set `torch_dtype=torch.float16` to load model in float16, otherwise it will be loaded as float32 and might cause OOM Error.
model = AutoModelForCausalLM . from_pretrained ( model_dir , device_map = "auto" , trust_remote_code = True , torch_dtype = torch . float16 )
# (Optional) If on low resource devices, you can load model in 4-bit or 8-bit to further save GPU memory via bitsandbytes.
# InternLM 7B in 4bit will cost nearly 8GB GPU memory.
# pip install -U bitsandbytes
# 8-bit: model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto", trust_remote_code=True, load_in_8bit=True)
# 4-bit: model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto", trust_remote_code=True, load_in_4bit=True)
model = model . eval ()
response , history = model . chat ( tokenizer , "hello" , history = [])
print ( response )
response , history = model . chat ( tokenizer , "please provide three suggestions about time management" , history = history )
print ( response )
Anda dapat berinteraksi dengan model InternLM Chat 7B melalui antarmuka frontend dengan menjalankan kode berikut:
pip install streamlit
pip install transformers > =4.38
streamlit run ./chat/web_demo.py
Kami menggunakan LMDeploy untuk penerapan InternLM dengan cepat.
Dengan hanya 4 baris kode, Anda dapat melakukan internlm2_5-7b-chat inferensi setelah pip install lmdeploy
.
from lmdeploy import pipeline
pipe = pipeline ( "internlm/internlm2_5-7b-chat" )
response = pipe ([ "Hi, pls intro yourself" , "Shanghai is" ])
print ( response )
Untuk mengurangi jejak memori, kami menawarkan model terkuantisasi 4-bit internlm2_5-7b-chat-4bit, yang inferensinya dapat dilakukan sebagai berikut:
from lmdeploy import pipeline
pipe = pipeline ( "internlm/internlm2_5-7b-chat-4bit" )
response = pipe ([ "Hi, pls intro yourself" , "Shanghai is" ])
print ( response )
Selain itu, Anda dapat secara mandiri mengaktifkan fitur cache KV 8bit/4bit:
from lmdeploy import pipeline , TurbomindEngineConfig
pipe = pipeline ( "internlm/internlm2_5-7b-chat-4bit" ,
backend_config = TurbomindEngineConfig ( quant_policy = 8 ))
response = pipe ([ "Hi, pls intro yourself" , "Shanghai is" ])
print ( response )
Silakan lihat panduan untuk penggunaan lebih lanjut tentang penerapan model. Untuk tutorial penerapan tambahan, silakan jelajahi di sini.
Dengan mengaktifkan fitur Dynamic NTK dari LMDeploy, Anda dapat memperoleh kekuatan inferensi konteks panjang.
Catatan: Panjang konteks 1M memerlukan 4xA100-80G.
from lmdeploy import pipeline , GenerationConfig , TurbomindEngineConfig
backend_config = TurbomindEngineConfig (
rope_scaling_factor = 2.5 ,
session_len = 1048576 , # 1M context length
max_batch_size = 1 ,
cache_max_entry_count = 0.7 ,
tp = 4 ) # 4xA100-80G.
pipe = pipeline ( 'internlm/internlm2_5-7b-chat-1m' , backend_config = backend_config )
prompt = 'Use a long prompt to replace this sentence'
response = pipe ( prompt )
print ( response )
Model InternLM2.5-Chat memiliki kemampuan pemanfaatan alat yang sangat baik dan dapat bekerja dengan pemanggilan fungsi secara zero-shot. Ini juga mendukung untuk melakukan analisis dengan mengumpulkan informasi dari lebih dari 100 halaman web. Lihat contoh lainnya di bagian agen.
Silakan merujuk ke dokumen penyempurnaan untuk penyempurnaan dengan InternLM.
Catatan: Kami telah memigrasikan seluruh fungsi pelatihan dalam proyek ini ke InternEvo untuk pengalaman pengguna yang lebih mudah, yang menyediakan pra-pelatihan yang efisien dan penyempurnaan infra untuk pelatihan InternLM.
Kami menggunakan OpenCompass untuk evaluasi model. Di InternLM2.5, kami terutama berfokus pada evaluasi objektif standar, evaluasi konteks panjang (jarum di tumpukan jerami), penilaian kontaminasi data, evaluasi agen, dan evaluasi subjektif.
Untuk mengevaluasi model InternLM, ikuti panduan dalam tutorial OpenCompass. Biasanya, kami menggunakan ppl
untuk pertanyaan pilihan ganda pada model Dasar dan gen
untuk semua pertanyaan pada model Obrolan .
Untuk evaluasi Needle in a Haystack
, lihat tutorial yang disediakan dalam dokumentasi. Jangan ragu untuk mencobanya.
Untuk mempelajari lebih lanjut tentang penilaian kontaminasi data, silakan periksa evaluasi kontaminasi.
Kami menghargai semua kontributor atas upaya mereka untuk meningkatkan dan meningkatkan InternLM. Pengguna komunitas sangat dianjurkan untuk berpartisipasi dalam proyek ini. Silakan lihat pedoman kontribusi untuk petunjuk tentang cara berkontribusi pada proyek.
Kode ini dilisensikan di bawah Apache-2.0, sedangkan bobot model sepenuhnya terbuka untuk penelitian akademis dan juga memungkinkan penggunaan komersial gratis . Untuk mengajukan izin komersial, silakan isi formulir permohonan (Bahasa Inggris)/申请表(中文). Untuk pertanyaan atau kolaborasi lainnya, silakan hubungi [email protected].
@misc{cai2024internlm2,
title={InternLM2 Technical Report},
author={Zheng Cai and Maosong Cao and Haojiong Chen and Kai Chen and Keyu Chen and Xin Chen and Xun Chen and Zehui Chen and Zhi Chen and Pei Chu and Xiaoyi Dong and Haodong Duan and Qi Fan and Zhaoye Fei and Yang Gao and Jiaye Ge and Chenya Gu and Yuzhe Gu and Tao Gui and Aijia Guo and Qipeng Guo and Conghui He and Yingfan Hu and Ting Huang and Tao Jiang and Penglong Jiao and Zhenjiang Jin and Zhikai Lei and Jiaxing Li and Jingwen Li and Linyang Li and Shuaibin Li and Wei Li and Yining Li and Hongwei Liu and Jiangning Liu and Jiawei Hong and Kaiwen Liu and Kuikun Liu and Xiaoran Liu and Chengqi Lv and Haijun Lv and Kai Lv and Li Ma and Runyuan Ma and Zerun Ma and Wenchang Ning and Linke Ouyang and Jiantao Qiu and Yuan Qu and Fukai Shang and Yunfan Shao and Demin Song and Zifan Song and Zhihao Sui and Peng Sun and Yu Sun and Huanze Tang and Bin Wang and Guoteng Wang and Jiaqi Wang and Jiayu Wang and Rui Wang and Yudong Wang and Ziyi Wang and Xingjian Wei and Qizhen Weng and Fan Wu and Yingtong Xiong and Chao Xu and Ruiliang Xu and Hang Yan and Yirong Yan and Xiaogui Yang and Haochen Ye and Huaiyuan Ying and Jia Yu and Jing Yu and Yuhang Zang and Chuyu Zhang and Li Zhang and Pan Zhang and Peng Zhang and Ruijie Zhang and Shuo Zhang and Songyang Zhang and Wenjian Zhang and Wenwei Zhang and Xingcheng Zhang and Xinyue Zhang and Hui Zhao and Qian Zhao and Xiaomeng Zhao and Fengzhe Zhou and Zaida Zhou and Jingming Zhuo and Yicheng Zou and Xipeng Qiu and Yu Qiao and Dahua Lin},
year={2024},
eprint={2403.17297},
archivePrefix={arXiv},
primaryClass={cs.CL}
}