mirror of https://github.com/InternLM/InternLM
[Doc]: Resolve comments in documentation (#587)
* fix typos and try pass lint * fix wrong path in CI * fix wrong path in readme * update lint doc * update doc * update docpull/594/head
parent
c40b34798c
commit
468982bc76
|
@ -12,31 +12,27 @@ jobs:
|
|||
lint-check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: lint-flake8
|
||||
run: |
|
||||
pip install flake8==v3.8.4
|
||||
FLAKE_DISABLE_LIST="F403,F405,W504,W503,E203"
|
||||
flake8 --max-line-length=120 --ignore=$FLAKE_DISABLE_LIST ./internlm/*
|
||||
flake8 --max-line-length=120 --ignore=$FLAKE_DISABLE_LIST ./train.py
|
||||
- name: lint-flake8
|
||||
run: |
|
||||
pip install flake8==v3.8.4
|
||||
FLAKE_DISABLE_LIST="F403,F405,W504,W503,E203"
|
||||
flake8 --max-line-length=120 --ignore=$FLAKE_DISABLE_LIST ./chat/web_demo.py
|
||||
|
||||
- name: lint-isort
|
||||
run: |
|
||||
pip install isort==5.12.0
|
||||
isort --check --profile=black ./internlm/*
|
||||
isort --check --profile=black ./train.py
|
||||
- name: lint-isort
|
||||
run: |
|
||||
pip install isort==5.12.0
|
||||
isort --check --profile=black .
|
||||
|
||||
- name: lint-black
|
||||
run: |
|
||||
pip install black==22.8.0
|
||||
BLACK_EXCLUDE_SETTINGS='\.venv/|\.local/|\.cache/|\.git/'
|
||||
black --line-length=120 --check --exclude $BLACK_EXCLUDE_SETTINGS ./internlm/*
|
||||
black --line-length=120 --check --exclude $BLACK_EXCLUDE_SETTINGS ./train.py
|
||||
- name: lint-black
|
||||
run: |
|
||||
pip install black==22.8.0
|
||||
BLACK_EXCLUDE_SETTINGS='\.venv/|\.local/|\.cache/|\.git/'
|
||||
black --line-length=120 --check --exclude $BLACK_EXCLUDE_SETTINGS ./chat/web_demo.py
|
||||
|
||||
- name: lint-pylint
|
||||
run: |
|
||||
pip install pylint==v2.17.2
|
||||
PYLINT_DISABLE_LIST="C0114,C0415,W0212,W0235,W0238,W0621,C0103,R1735,C2801,E0402,C0412,W0719,R1728,W1514,W0718,W0105,W0707,C0209,W0703,W1203"
|
||||
pylint --rcfile .pylintrc --disable=$PYLINT_DISABLE_LIST ./internlm/*
|
||||
pylint --rcfile .pylintrc --disable=$PYLINT_DISABLE_LIST ./train.py
|
||||
- name: lint-pylint
|
||||
run: |
|
||||
pip install pylint==v2.17.2
|
||||
PYLINT_DISABLE_LIST="C0114,C0415,W0212,W0235,W0238,W0621,C0103,R1735,C2801,E0402,C0412,W0719,R1728,W1514,W0718,W0105,W0707,C0209,W0703,W1203"
|
||||
pylint --rcfile .pylintrc --disable=$PYLINT_DISABLE_LIST ./chat/web_demo.py
|
||||
|
|
11
README.md
11
README.md
|
@ -26,7 +26,7 @@
|
|||
[🤔Reporting Issues](https://github.com/InternLM/InternLM/issues/new)
|
||||
|
||||
[English](./README.md) |
|
||||
[简体中文](./README_zh-CN.md) |
|
||||
[简体中文](./README_zh-CN.md)
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -67,10 +67,13 @@ InternLM2 series are released with the following features:
|
|||
| **InternLM2 Chat 7B SFT** | [🤗internlm/internlm2-chat-7b-sft](https://huggingface.co/internlm/internlm2-chat-7b-sft) | [<img src="./assets/modelscope_logo.png" width="20px" /> internlm2-chat-7b-sft](https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-chat-7b-sft/summary) | [](https://openxlab.org.cn/models/detail/OpenLMLab/internlm2-chat-7b-sft) | 2024-01-17 |
|
||||
| **InternLM2 Base 7B** | [🤗internlm/internlm2-base-7b](https://huggingface.co/internlm/internlm2-base-7b) | [<img src="./assets/modelscope_logo.png" width="20px" /> internlm2-base-7b](https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-base-7b/summary) | [](https://openxlab.org.cn/models/detail/OpenLMLab/internlm2-base-7b) | 2024-01-17 |
|
||||
|
||||
**Note:**
|
||||
**Note of Models:**
|
||||
|
||||
1. For chat models, InternLM2 Chat 7/20B has gone through online RLHF for better alignment, which is recommended for downstream applications. We also released InternLM2 Chat 7/20B SFT, which are the ones that only have gone through SFT and used in RLHF to obtain InternLM2 Chat 7/20B. InternLM2 Chat 7/20B are trained from InternLM2 Base 7/20B.
|
||||
2. For base models, InternLM2 7/20B are further trained from InternLM2 Base 7/20B, which is recommended for fast adaptation for downstream applications.
|
||||
The release of InternLM2 series contains two model sizes: 7B and 20B. 7B models are efficient for research and application and 20B models are more powerful and can support more complex scenarios. For each model size, there are three types of models for different user requirements
|
||||
|
||||
1. InternLM2-Base: Foundation models with high quality and high adaptation flexibility, which serves as a good starting point for downstream deep adaptations.
|
||||
2. InternLM2: Optimized in multiple dimensions based on InternLM2-Base, obtaining state-of-the-art performance in evaluation with good language capability. InternLM2 models are recommended for consideration in most applications.
|
||||
3. InternLM2-Chat: InternLM2-Chat have gone through SFT and online RLHF based on InternLM2-Base model, for better instruction following, chat experience and function calling, which is recommended for downstream applications. We also released their corresponding SFT version, termed InternLM2 Chat 7/20B SFT, to ease the research for alignment.
|
||||
|
||||
**Limitations:** Although we have made efforts to ensure the safety of the model during the training process and to encourage the model to generate text that complies with ethical and legal requirements, the model may still produce unexpected outputs due to its size and probabilistic generation paradigm. For example, the generated responses may contain biases, discrimination, or other harmful content. Please do not propagate such content. We are not responsible for any consequences resulting from the dissemination of harmful information.
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
[🤔提交反馈](https://github.com/InternLM/InternLM/issues/new)
|
||||
|
||||
[English](./README.md) |
|
||||
[简体中文](./README_zh-CN.md) |
|
||||
[简体中文](./README_zh-CN.md)
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -56,15 +56,25 @@ InternLM2 系列模型在本仓库正式发布,具有如下特性:
|
|||
|
||||
| Model | Transformers(HF) | ModelScope(HF) | OpenXLab(HF) | Release Date |
|
||||
|---------------------------|------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|
|
||||
| **InternLM2 Chat 20B** | [🤗internlm/internlm-chat-20b](https://huggingface.co/internlm/internlm2-chat-20b) | [<img src="./assets/modelscope_logo.png" width="20px" /> internlm2-chat-20b](https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-chat-20b/summary) | [](https://openxlab.org.cn/models/detail/OpenLMLab/internlm2-chat-20b) | 2024-01-17 |
|
||||
| **InternLM2 Chat 20B** | [🤗internlm/internlm2-chat-20b](https://huggingface.co/internlm/internlm2-chat-20b) | [<img src="./assets/modelscope_logo.png" width="20px" /> internlm2-chat-20b](https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-chat-20b/summary) | [](https://openxlab.org.cn/models/detail/OpenLMLab/internlm2-chat-20b) | 2024-01-17 |
|
||||
| **InternLM2 20B** | [🤗internlm/internlm2-20b](https://huggingface.co/internlm/internlm2-20b) | [<img src="./assets/modelscope_logo.png" width="20px" /> internlm2-20b](https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-20b/summary) | [](https://openxlab.org.cn/models/detail/OpenLMLab/internlm2-20b) | 2024-01-17 |
|
||||
| **InternLM2 Chat 20B SFT** | [🤗internlm/internlm-chat-20b-sft](https://huggingface.co/internlm/internlm2-chat-20b-sft) | [<img src="./assets/modelscope_logo.png" width="20px" /> internlm2-chat-20b-sft](https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-chat-20b-sft/summary) | [](https://openxlab.org.cn/models/detail/OpenLMLab/internlm2-chat-20b-sft) | 2024-01-17 |
|
||||
| **InternLM2 Chat 20B SFT** | [🤗internlm/internlm2-chat-20b-sft](https://huggingface.co/internlm/internlm2-chat-20b-sft) | [<img src="./assets/modelscope_logo.png" width="20px" /> internlm2-chat-20b-sft](https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-chat-20b-sft/summary) | [](https://openxlab.org.cn/models/detail/OpenLMLab/internlm2-chat-20b-sft) | 2024-01-17 |
|
||||
| **InternLM2 Base 20B** | [🤗internlm/internlm2-base-20b](https://huggingface.co/internlm/internlm2-base-20b) | [<img src="./assets/modelscope_logo.png" width="20px" /> internlm2-base-20b](https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-base-20b/summary) | [](https://openxlab.org.cn/models/detail/OpenLMLab/internlm2-base-20b) | 2024-01-17 |
|
||||
| **InternLM2 Chat 7B** | [🤗internlm/internlm2-chat-7b](https://huggingface.co/internlm/internlm2-chat-7b) | [<img src="./assets/modelscope_logo.png" width="20px" /> internlm2-chat-7b](https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-chat-7b/summary) | [](https://openxlab.org.cn/models/detail/OpenLMLab/internlm2-chat-7b) | 2024-01-17 |
|
||||
| **InternLM2 7B** | [🤗internlm/internlm2-7b](https://huggingface.co/internlm/internlm2-7b) | [<img src="./assets/modelscope_logo.png" width="20px" /> internlm2-7b](https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-7b/summary) | [](https://openxlab.org.cn/models/detail/OpenLMLab/internlm2-7b) | 2024-01-17 |
|
||||
| **InternLM2 Chat 7B SFT** | [🤗internlm/internlm2-chat-7b-sft](https://huggingface.co/internlm/internlm2-chat-7b-sft) | [<img src="./assets/modelscope_logo.png" width="20px" /> internlm2-chat-7b-sft](https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-chat-7b-sft/summary) | [](https://openxlab.org.cn/models/detail/OpenLMLab/internlm2-chat-7b-sft) | 2024-01-17 |
|
||||
| **InternLM2 Base 7B** | [🤗internlm/internlm2-base-7b](https://huggingface.co/internlm/internlm2-base-7b) | [<img src="./assets/modelscope_logo.png" width="20px" /> internlm2-base-7b](https://modelscope.cn/models/Shanghai_AI_Laboratory/internlm2-base-7b/summary) | [](https://openxlab.org.cn/models/detail/OpenLMLab/internlm2-base-7b) | 2024-01-17 |
|
||||
|
||||
**关于模型说明:**
|
||||
|
||||
在此次发布中,InternLM2 包含两种模型规格:7B和20B。7B为轻量级的研究和应用提供了一个轻便但性能不俗的模型,20B模型的综合性能更为强劲,可以有效支持更加复杂的实用场景。面向不同的使用需求,每个规格包含三个模型版本:
|
||||
|
||||
1. InternLM2-Base:高质量和具有很强可塑性的模型基座,是模型进行深度领域适配的高质量起点。
|
||||
2. InternLM2:在Base基础上,在多个能力方向进行了强化,在评测中成绩优异,同时保持了很好的通用语言能力,是我们推荐的在大部分应用中考虑选用的优秀基座。
|
||||
3. InternLM2-Chat:InternLM2-Chat 模型在 InternLM2-Base 模型的基础上,经过了 SFT 和 RLHF,面向对话交互进行了优化,具有较好的指令遵循、共情聊天和调用工具等的能力,是我们推荐直接用于下游应用的模型。我们同时开源了这些模型使用的 SFT 版本方便社区的对齐研究,标记为 InternLM2-Chat 7B/20B SFT。
|
||||
|
||||
**局限性:** 尽管在训练过程中我们非常注重模型的安全性,尽力促使模型输出符合伦理和法律要求的文本,但受限于模型大小以及概率生成范式,模型可能会产生各种不符合预期的输出,例如回复内容包含偏见、歧视等有害内容,请勿传播这些内容。由于传播不良信息导致的任何后果,本项目不承担责任。
|
||||
|
||||
## 使用案例
|
||||
|
||||
接下来我们展示使用 [Transformers](#import-from-transformers), [ModelScope](#import-from-modelscope), 和 [Web demo](#dialogue) 进行推理.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Chat
|
||||
|
||||
English | [简体中文](lmdeploy_zh_zh-CN.md)
|
||||
English | [简体中文](./README_zh-CN.md)
|
||||
|
||||
This document briefly shows how to use [Transformers](#import-from-transformers), [ModelScope](#import-from-modelscope), and [Web demos](#dialogue) to conduct inference with InternLM2-Chat.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# 对话
|
||||
|
||||
[English](lmdeploy.md) | 简体中文
|
||||
[English](./README.md) | 简体中文
|
||||
|
||||
本文介绍采用 [Transformers](#import-from-transformers)、[ModelScope](#import-from-modelscope)、[Web demos](#dialogue)
|
||||
对 InternLM2-Chat 进行推理。
|
||||
|
|
|
@ -26,11 +26,11 @@ def on_btn_click():
|
|||
@st.cache_resource
|
||||
def load_model():
|
||||
model = (
|
||||
AutoModelForCausalLM.from_pretrained("internlm/internlm-chat-7b", trust_remote_code=True)
|
||||
AutoModelForCausalLM.from_pretrained("internlm/internlm2-chat-7b", trust_remote_code=True)
|
||||
.to(torch.bfloat16)
|
||||
.cuda()
|
||||
)
|
||||
tokenizer = AutoTokenizer.from_pretrained("internlm/internlm-chat-7b", trust_remote_code=True)
|
||||
tokenizer = AutoTokenizer.from_pretrained("internlm/internlm2-chat-7b", trust_remote_code=True)
|
||||
return model, tokenizer
|
||||
|
||||
|
||||
|
@ -46,9 +46,9 @@ def prepare_generation_config():
|
|||
return generation_config
|
||||
|
||||
|
||||
user_prompt = "<|User|>:{user}\n"
|
||||
robot_prompt = "<|Bot|>:{robot}<eoa>\n"
|
||||
cur_query_prompt = "<|User|>:{user}<eoh>\n<|Bot|>:"
|
||||
user_prompt = "[UNUSED_TOKEN_146]user\n{user}[UNUSED_TOKEN_145]\n"
|
||||
robot_prompt = "[UNUSED_TOKEN_146]assistant\n{robot}[UNUSED_TOKEN_145]\n"
|
||||
cur_query_prompt = "[UNUSED_TOKEN_146]user\n{user}[UNUSED_TOKEN_145]\n[UNUSED_TOKEN_146]assistant\n"
|
||||
|
||||
|
||||
def combine_history(prompt):
|
||||
|
@ -73,10 +73,10 @@ def main():
|
|||
model, tokenizer = load_model()
|
||||
print("load model end.")
|
||||
|
||||
user_avator = "docs/imgs/user.png"
|
||||
robot_avator = "docs/imgs/robot.png"
|
||||
user_avator = "assets/user.png"
|
||||
robot_avator = "assets/robot.png"
|
||||
|
||||
st.title("InternLM-Chat-7B")
|
||||
st.title("InternLM2-Chat-7B")
|
||||
|
||||
generation_config = prepare_generation_config()
|
||||
|
||||
|
|
Loading…
Reference in New Issue