Коммерческое применение | ?Обнимающее лицо | ?Обновление новостей | ?Проблемы отчетности | Технический отчет
Веб-чат | ?API | ?Моделеры
английский | 简体中文
присоединяйтесь к нам в Discord и WeChat
Серия InternLM2.5 выпущена со следующими функциями:
Выдающиеся способности к рассуждению : самые современные возможности математических рассуждений, превосходящие такие модели, как Llama3 и Gemma2-9B.
Контекстное окно 1M : почти идеально подходит для поиска иголок в стоге сена с контекстом длиной 1M, с лучшей производительностью в задачах с длинным контекстом, таких как LongBench. Попробуйте это с LMDeploy для вывода 1M-контекста. Более подробную информацию и демонстрацию файлового чата можно найти здесь.
Более активное использование инструментов : InternLM2.5 поддерживает сбор информации с более чем 100 веб-страниц, соответствующая реализация скоро будет выпущена в Lagent. InternLM2.5 имеет улучшенные возможности использования инструментов при выполнении инструкций, выборе инструментов и анализе. См. примеры.
[2024.08.01] Мы выпускаем InternLM2.5-1.8B, InternLM2.5-1.8B-Chat, InternLM2.5-20B и InternLM2.5-20B-Chat. См. модель зоопарка ниже для загрузки или карты моделей для получения более подробной информации.
[2024.07.19] Мы выпускаем серию моделей вознаграждений InternLM2-Reward в размерах 1.8B, 7B и 20B. См. модель зоопарка ниже для загрузки или карты моделей для получения более подробной информации.
[2024.07.03] Мы выпускаем InternLM2.5-7B, InternLM2.5-7B-Chat и InternLM2.5-7B-Chat-1M. См. модель зоопарка ниже для загрузки или карты моделей для получения более подробной информации.
[2024.03.26] Мы публикуем технический отчет InternLM2. Подробности смотрите в arXiv.
[2024.01.31] Мы выпускаем InternLM2-1.8B вместе с соответствующей моделью чата. Они обеспечивают более дешевый вариант развертывания, сохраняя при этом лучшую производительность.
[2024.01.23] Мы выпускаем InternLM2-Math-7B и InternLM2-Math-20B с предобучением и контрольными точками SFT. Они превосходят ChatGPT небольшими размерами. Подробности и загрузку см. в InternLM-Math.
[2024.01.17] Мы выпускаем InternLM2-7B и InternLM2-20B и соответствующие им модели чата с более широкими возможностями во всех измерениях. См. модель зоопарка ниже для загрузки или карты моделей для получения более подробной информации.
[2023.12.13] Обновлены контрольные точки InternLM-7B-Chat и InternLM-20B-Chat. Благодаря улучшенной стратегии точной настройки новые модели чата могут генерировать более качественные ответы с большим стилистическим разнообразием.
[2023.09.20] Выпущен InternLM-20B в базовой и чат-версиях.
Модель | Трансформаторы(ВЧ) | МодельОбъем(HF) | OpenXLab(HF) | OpenXLab (Происхождение) | Дата выпуска |
---|---|---|---|---|---|
СтажерLM2.5-1.8B | ?internlm2_5-1_8b | internlm2_5-1_8b | 05.08.2024 | ||
СтажерLM2.5-1.8B-Чат | ?internlm2_5-1_8b-чат | internlm2_5-1_8b-чат | 05.08.2024 | ||
СтажерLM2.5-7B | ?internlm2_5-7b | internlm2_5-7b | 2024-07-03 | ||
СтажерLM2.5-7B-Чат | ?internlm2_5-7b-чат | internlm2_5-7b-чат | 2024-07-03 | ||
СтажерLM2.5-7B-Чат-1М | ?internlm2_5-7b-чат-1м | internlm2_5-7b-чат-1м | 2024-07-03 | ||
СтажерLM2.5-20B | ?internlm2_5-20b | internlm2_5-20b | 05.08.2024 | ||
СтажерLM2.5-20B-Чат | ?internlm2_5-20b-чат | internlm2_5-20b-чат | 05.08.2024 |
Примечания:
Выпуск серии InternLM2.5 содержит версии 1.8B, 7B и 20B. Модели 7B эффективны для исследований и применения, а модели 20B более мощны и могут поддерживать более сложные сценарии. Связь этих моделей показана следующим образом.
Ограничения: хотя мы приложили усилия, чтобы обеспечить безопасность модели во время процесса обучения и побудить модель генерировать текст, соответствующий этическим и юридическим требованиям, модель все равно может давать неожиданные результаты из-за ее размера и парадигмы вероятностного генерации. Например, сгенерированные ответы могут содержать предвзятость, дискриминацию или другой вредный контент. Пожалуйста, не распространяйте такой контент. Мы не несем ответственности за любые последствия, возникшие в результате распространения вредной информации.
Дополнения: HF
относится к формату, используемому HuggingFace в трансформерах, тогда как Origin
обозначает формат, принятый командой InternLM в InternEvo.
InternLM2-Reward — это серия моделей вознаграждений, обученных на 2,4 миллионах выборок предпочтений, доступных в размерах 1,8B, 7B и 20B. Эти модели были применены к процессу обучения PPO наших моделей чата. Более подробную информацию см. в карточках моделей.
Модель | Награда | Трансформаторы(ВЧ) | МодельОбъем(HF) | OpenXLab(HF) | Дата выпуска |
---|---|---|---|---|---|
СтажерLM2-1.8B-Награда | 80,6 | ?internlm2-1_8b-награда | internlm2-1_8b-награда | 2024-07-19 | |
СтажерLM2-7B-Награда | 86,6 | ?internlm2-7b-награда | internlm2-7b-награда | 2024-07-19 | |
СтажерLM2-20B-Награда | 89,5 | ?internlm2-20b-награда | internlm2-20b-награда | 2024-07-19 |
Наши модели предыдущего поколения с расширенными возможностями обработки, рассуждения и кодирования длительного контекста. Более подробную информацию см. в карточках моделей.
Модель | Трансформаторы(ВЧ) | МодельОбъем(HF) | OpenXLab(HF) | OpenXLab (Происхождение) | Дата выпуска |
---|---|---|---|---|---|
СтажерЛМ2-1.8Б | ?internlm2-1.8b | внутреннийm2-1.8b | 2024-01-31 | ||
СтажерLM2-Чат-1.8B-SFT | ?internlm2-чат-1.8b-sft | internlm2-чат-1.8b-sft | 2024-01-31 | ||
СтажерLM2-Чат-1.8B | ?internlm2-чат-1.8b | internlm2-чат-1.8b | 19 февраля 2024 г. | ||
СтажерLM2-База-7Б | ?internlm2-base-7b | internlm2-base-7b | 17.01.2024 | ||
СтажерLM2-7B | ?internlm2-7b | интернлм2-7б | 17.01.2024 | ||
СтажерLM2-Чат-7B-SFT | ?internlm2-chat-7b-sft | internlm2-чат-7b-sft | 17.01.2024 | ||
СтажерLM2-Чат-7B | ?internlm2-чат-7b | internlm2-чат-7b | 17.01.2024 | ||
СтажерLM2-База-20Б | ?internlm2-base-20b | internlm2-base-20b | 17.01.2024 | ||
СтажерLM2-20B | ?internlm2-20b | интернлм2-20б | 17.01.2024 | ||
СтажерLM2-Чат-20B-SFT | ?internlm2-чат-20b-sft | internlm2-чат-20b-sft | 17.01.2024 | ||
СтажерLM2-Чат-20B | ?internlm2-чат-20b | internlm2-чат-20b | 17.01.2024 |
Мы оценили InternLM2.5 по нескольким важным критериям, используя инструмент оценки с открытым исходным кодом OpenCompass. Некоторые результаты оценки показаны в таблице ниже. Приглашаем вас посетить таблицу лидеров OpenCompass для получения дополнительных результатов оценки.
Контрольный показатель | СтажерLM2.5-7B | Лама3-8Б | Йи-1,5-9Б |
---|---|---|---|
ММЛУ (5 выстрелов) | 71,6 | 66,4 | 71,6 |
СММЛУ (5 выстрелов) | 79,1 | 51,0 | 74,1 |
ББХ (3 выстрела) | 70,1 | 59,7 | 71,1 |
МАТЕМАТИКА (4 кадра) | 34,0 | 16,4 | 31,9 |
GSM8K (4-кадровый) | 74,8 | 54,3 | 74,5 |
GPQA (0 выстрелов) | 31,3 | 31,3 | 27,8 |
Контрольный показатель | СтажерLM2.5-7B-Чат | Лама3-8B-Инструктировать | Джемма2-9Б-ИТ | Йи-1.5-9Б-Чат | GLM-4-9B-Чат | Qwen2-7B-Инструктировать |
---|---|---|---|---|---|---|
ММЛУ (5 выстрелов) | 72,8 | 68,4 | 70,9 | 71,0 | 71,4 | 70,8 |
СММЛУ (5 выстрелов) | 78,0 | 53,3 | 60,3 | 74,5 | 74,5 | 80,9 |
BBH (3-зарядный CoT) | 71,6 | 54,4 | 68,2* | 69,6 | 69,6 | 65,0 |
МАТЕМАТИКА (ЦП с 0 выстрелами) | 60,1 | 27,9 | 46,9 | 51,1 | 51,1 | 48,6 |
GSM8K (нулевой ЦТ) | 86,0 | 72,9 | 88,9 | 80,1 | 85,3 | 82,9 |
GPQA (0 выстрелов) | 38,4 | 26.1 | 33,8 | 37,9 | 36,9 | 38,4 |
ppl
для оценки MCQ базовой модели.InternLM поддерживает широкий спектр известных как исходящих, так и последующих проектов, таких как LLaMA-Factory, vLLM, llama.cpp и другие. Эта поддержка позволяет широкому кругу пользователей использовать модели серии InternLM более эффективно и удобно. Для вашего удобства здесь доступны руководства по выбранным экосистемным проектам.
В следующих главах мы сосредоточимся на использовании Transformers, ModelScope и веб-демо. Модели чата используют формат Chatml для поддержки приложений чата и агентов. Чтобы обеспечить лучший эффект от использования, перед выполнением вывода с помощью Transformers или ModelScope убедитесь, что установленная версия библиотеки преобразователей соответствует следующим требованиям:
transformers >= 4.38
Чтобы загрузить модель InternLM2.5-7B-Chat с помощью Transformers, используйте следующий код:
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 )
Чтобы загрузить модель InternLM2.5-7B-Chat с помощью ModelScope, используйте следующий код:
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 )
Вы можете взаимодействовать с моделью InternLM Chat 7B через внешний интерфейс, выполнив следующий код:
pip install streamlit
pip install transformers > =4.38
streamlit run ./chat/web_demo.py
Мы используем LMDeploy для быстрого развертывания InternLM.
Используя всего 4 строки кода, вы можете выполнить вывод internlm2_5-7b-chat после pip install lmdeploy
.
from lmdeploy import pipeline
pipe = pipeline ( "internlm/internlm2_5-7b-chat" )
response = pipe ([ "Hi, pls intro yourself" , "Shanghai is" ])
print ( response )
Для уменьшения объема памяти мы предлагаем 4-битную квантованную модель internlm2_5-7b-chat-4bit, с помощью которой вывод можно проводить следующим образом:
from lmdeploy import pipeline
pipe = pipeline ( "internlm/internlm2_5-7b-chat-4bit" )
response = pipe ([ "Hi, pls intro yourself" , "Shanghai is" ])
print ( response )
Более того, вы можете самостоятельно активировать функцию 8-битного/4-битного KV-кэша:
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 )
Дополнительные сведения о развертывании модели см. в руководстве. Дополнительные руководства по развертыванию можно найти здесь.
Включив функцию Dynamic NTK в LMDeploy, вы можете получить возможность вывода длинного контекста.
Примечание. Для длины контекста 1 М требуется 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 )
Модели InternLM2.5-Chat обладают отличными возможностями использования инструментов и могут работать с вызовами функций без каких-либо проблем. Он также поддерживает проведение анализа путем сбора информации с более чем 100 веб-страниц. Больше примеров смотрите в разделе агентов.
Пожалуйста, обратитесь к документации по точной настройке для точной настройки с помощью InternLM.
Примечание. Мы перенесли все функциональные возможности обучения в этом проекте в InternEvo для упрощения работы пользователя, что обеспечивает эффективное предварительное обучение и тонкую настройку инфраструктуры для обучения InternLM.
Мы используем OpenCompass для оценки модели. В InternLM2.5 мы в первую очередь фокусируемся на стандартной объективной оценке, долгосрочной оценке контекста (иголка в стоге сена), оценке загрязнения данных, оценке агентов и субъективной оценке.
Чтобы оценить модель InternLM, следуйте рекомендациям руководства OpenCompass. Обычно мы используем ppl
для вопросов с несколькими вариантами ответов в базовой модели и gen
для всех вопросов в модели чата .
Для оценки « Needle in a Haystack
обратитесь к руководству, приведенному в документации. Не стесняйтесь попробовать.
Чтобы узнать больше об оценке загрязнения данных, проверьте оценку загрязнения.
Мы благодарим всех участников за их усилия по улучшению и усовершенствованию InternLM. Пользователям сообщества настоятельно рекомендуется принять участие в проекте. Пожалуйста, ознакомьтесь с правилами внесения вкладов, чтобы получить инструкции о том, как внести свой вклад в проект.
Код лицензируется под Apache-2.0, а веса моделей полностью открыты для академических исследований, а также допускают бесплатное коммерческое использование. Чтобы подать заявку на коммерческую лицензию, заполните форму заявки (на английском языке)/申请表(中文). По другим вопросам или сотрудничеству обращайтесь по адресу [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}
}