🚀 Cotype-Nano
Cotype-Nano 是一款轻量级大语言模型(LLM),专为在资源有限的情况下高效执行任务而设计。它经过优化,能够与用户进行快速有效的交互,即使在资源受限的条件下也能提供出色的性能。
🚀 快速开始
使用 vLLM 进行推理
python3 -m vllm.entrypoints.openai.api_server --model MTSAIR/Cotype-Nano --port 8000
推荐的生成参数和系统提示
import openai
import pandas as pd
from tqdm import tqdm
openai.api_key = 'xxx'
endpoint = 'http://localhost:8000/v1'
model = 'MTSAIR/Cotype-Nano'
openai.api_base = endpoint
response = openai.ChatCompletion.create(
model=model,
temperature=0.4,
frequency_penalty=0.0,
max_tokens=2048,
top_p=0.8,
messages=[
{"role": "user", "content": "如何使用 transformers 库调用 meta-llama/Llama-3.2-1B 模型?"}
]
)
answer = response["choices"][0]["message"]["content"]
print(answer)
使用 Huggingface 进行推理
from transformers import pipeline
pipe = pipeline("text-generation", model="MTSAIR/Cotype-Nano", device="cuda")
messages = [
{"role": "system", "content": "这是一个基于 FastAPI 的服务。请确保你的输入符合以下格式:在一个特定的上下文中,提出一个明确的问题或请求。"},
{"role": "user", "content": "请提供一个简单的示例"},
]
res = pipe(messages, max_length=1024)
print(res[0]['generated_text'][-1]['content'])
💻 使用示例
基础用法
python3 -m vllm.entrypoints.openai.api_server --model MTSAIR/Cotype-Nano --port 8000
高级用法
import openai
import pandas as pd
from tqdm import tqdm
openai.api_key = 'xxx'
endpoint = 'http://localhost:8000/v1'
model = 'MTSAIR/Cotype-Nano'
openai.api_base = endpoint
response = openai.ChatCompletion.create(
model=model,
temperature=0.4,
frequency_penalty=0.0,
max_tokens=2048,
top_p=0.8,
messages=[
{"role": "user", "content": "如何使用 transformers 库调用 meta-llama/Llama-3.2-1B 模型?"}
]
)
answer = response["choices"][0]["message"]["content"]
print(answer)
示例请求
请求:创建一个基于 FastAPI 的服务
Cotype-Nano 响应:
FastAPI 是一个用于构建 API 的现代、快速(高性能)的 Python 框架,它基于标准的 Python 类型提示,使用类型提示来验证、序列化和反序列化数据。以下是创建一个简单的 FastAPI 服务的步骤:
步骤 1:安装 FastAPI 和 Uvicorn
pip install fastapi uvicorn
步骤 2:创建 FastAPI 应用
from fastapi import FastAPI
app = FastAPI()
步骤 3:定义 API 端点
@app.get("/")
async def read_root():
return {"message": "Hello, FastAPI!"}
步骤 4:运行应用
uvicorn main:app --reload
这里的 main
是 Python 文件名,app
是 FastAPI 应用实例。--reload
参数用于在代码更改时自动重启服务器。
启动服务器后,你可以在浏览器中访问 http://127.0.0.1:8000
来查看 API 的响应:
{
"message": "Hello, FastAPI!"
}
如果你需要定义更多的 API 端点,可以根据需要添加更多的路由和处理函数。
训练过程
该模型的训练分为两个阶段。在第一阶段,多层感知器(MLP)层在数学和代码数据上进行训练。在第二阶段,整个模型在内部和开放的合成指令数据集上进行训练。
ru-llm-arena 评测结果:30.2(本地测量)
模型 |
得分 |
95% 置信区间 |
平均令牌数 |
Cotype-Nano |
30.2 |
+2.2 / -1.3 |
542 |
vikhr-it-5.3-fp16-32k |
27.8 |
+1.5 / -2.1 |
519.71 |
vikhr-it-5.3-fp16 |
22.73 |
+1.8 / -1.7 |
523.45 |
Cotype-Nano-4bit |
22.5 |
+2.1 / -1.4 |
582 |
kolibri-vikhr-mistral-0427 |
22.41 |
+1.6 / -1.9 |
489.89 |
snorkel-mistral-pairrm-dpo |
22.41 |
+1.7 / -1.6 |
773.8 |
storm-7b |
20.62 |
+1.4 / -1.6 |
419.32 |
neural-chat-7b-v3-3 |
19.04 |
+1.8 / -1.5 |
927.21 |
Vikhrmodels-Vikhr-Llama-3.2-1B-instruct |
19.04 |
+1.2 / -1.5 |
958.63 |
gigachat_lite |
17.2 |
+1.5 / -1.5 |
276.81 |
Vikhrmodels-Vikhr-Qwen-2.5-0.5b-Instruct |
16.5 |
+1.5 / -1.7 |
583.5 |
Qwen-Qwen2.5-1.5B-Instruct |
16.46 |
+1.3 / -1.3 |
483.67 |
Vikhrmodels-vikhr-qwen-1.5b-it |
13.19 |
+1.3 / -1.1 |
2495.38 |
meta-llama-Llama-3.2-1B-Instruct |
4.04 |
+0.6 / -0.8 |
1240.53 |
Qwen-Qwen2.5-0.5B-Instruct |
4.02 |
+0.7 / -0.8 |
829.87 |
📄 许可证
本项目采用 Apache 2.0 许可证,详情请见 许可证文件。