|
| 1 | +# LLM Inference - 快速部署生产级的LLM服务 |
| 2 | + |
| 3 | +`LLM Inference` 是一个用于部署企业生产级LLM服务和推理的解决方案。 |
| 4 | + |
| 5 | +我们从[这个开源项目](https://github.com/ray-project/ray-llm)中获得了大量的灵感和动力。非常感谢此项目为我们提供了站在巨人的肩膀上进一步探索和创新的机会。 |
| 6 | + |
| 7 | +<img src="./docs/llm-inference.png" alt="image" width=600 height="auto"> |
| 8 | + |
| 9 | +使用此解决方案,您可以: |
| 10 | + |
| 11 | +- 在CPU/GPU上快速部署各种LLM。 |
| 12 | +- 通过Ray集群在多个节点上部署LLM。 |
| 13 | +- 使用vLLM引擎构建LLM推理,加快推理速度。 |
| 14 | +- 利用Restful API管理模型推理。 |
| 15 | +- 使用YAML自定义模型部署。 |
| 16 | +- 比较模型推断。 |
| 17 | + |
| 18 | +更多[开发路线图](./Roadmap.md)中的功能正在开发中,欢迎您的贡献。 |
| 19 | + |
| 20 | +## 快速入门 |
| 21 | + |
| 22 | +### 本地部署 |
| 23 | + |
| 24 | +#### 部署`LLM Inference`及其依赖 |
| 25 | + |
| 26 | +您可以下载此项目代码,然后使用pip install ' llm-serve '安装。建议使用Python 3.10+部署'llm-serve '。 |
| 27 | + |
| 28 | +``` |
| 29 | +git clone https://git-devops.opencsg.com/product/starnet/llm-inference.git |
| 30 | +cd llm-inference |
| 31 | +pip install . |
| 32 | +``` |
| 33 | + |
| 34 | +如果您受到网络传输速度的限制或影响,可以选择使用更快的传输速度的pip源。 |
| 35 | + |
| 36 | +``` |
| 37 | +pip install . -i https://pypi.tuna.tsinghua.edu.cn/simple/ |
| 38 | +``` |
| 39 | + |
| 40 | +按组件安装指定的依赖项: |
| 41 | + |
| 42 | +``` |
| 43 | +pip install '.[backend]' |
| 44 | +pip install '.[frontend]' |
| 45 | +``` |
| 46 | + |
| 47 | +**注意:** 如果运行时支持gpu,请执行以下命令安装vllm依赖: |
| 48 | + |
| 49 | +``` |
| 50 | +pip install '.[vllm]' |
| 51 | +``` |
| 52 | + |
| 53 | +如果您受到网络传输速度的限制或影响,可以选择使用更快的传输速度的pip源。 |
| 54 | + |
| 55 | +``` |
| 56 | +pip install '.[backend]' -i https://pypi.tuna.tsinghua.edu.cn/simple/ |
| 57 | +pip install '.[frontend]' -i https://pypi.tuna.tsinghua.edu.cn/simple/ |
| 58 | +pip install '.[vllm]' -i https://pypi.tuna.tsinghua.edu.cn/simple/ |
| 59 | +``` |
| 60 | + |
| 61 | +#### 安装Ray并在本地启动Ray Cluster |
| 62 | + |
| 63 | +安装Ray: |
| 64 | + |
| 65 | +``` |
| 66 | +pip install -U "ray[serve-grpc]==2.8.0" |
| 67 | +``` |
| 68 | + |
| 69 | +如果您受到网络传输速度的限制或影响,可以选择使用更快的传输速度的pip源。 |
| 70 | + |
| 71 | +``` |
| 72 | +pip install -U "ray[serve-grpc]==2.8.0" -i https://pypi.tuna.tsinghua.edu.cn/simple/ |
| 73 | +``` |
| 74 | + |
| 75 | +> **注意:** ChatGLM2-6b要求transformers<=4.33.3,最新的vllm要求transformers>=4.36.0。 |
| 76 | +
|
| 77 | +启动Ray集群: |
| 78 | + |
| 79 | +``` |
| 80 | +ray start --head --port=6379 --dashboard-host=0.0.0.0 --dashboard-port=8265 |
| 81 | +``` |
| 82 | + |
| 83 | +请参阅[此文档](https://docs.ray.io/en/releases-2.8.0/ray-overview/installation.html)获取更多Ray的安装与启动的信息. |
| 84 | + |
| 85 | +#### 快速入门 |
| 86 | + |
| 87 | +你可以按照[快速入门](./docs/quick_start.md)来运行一个端到端的模型服务案例。 |
| 88 | + |
| 89 | +#### 卸载 |
| 90 | + |
| 91 | +卸载 `llm-serve` : |
| 92 | + |
| 93 | +``` |
| 94 | +pip uninstall llm-serve |
| 95 | +``` |
| 96 | + |
| 97 | +停止`Ray` 集群: |
| 98 | + |
| 99 | +``` |
| 100 | +ray stop |
| 101 | +``` |
| 102 | + |
| 103 | +### API服务器 |
| 104 | + |
| 105 | +关于详细的API Server和API的内容,请参见[此文档](./docs/api_server.md)。 |
| 106 | + |
| 107 | +### 在裸金属上部署 |
| 108 | + |
| 109 | +请参见[此文档](./docs/deploy_on_bare_metal.md)中描述,查阅如何在裸金属上部署。 |
| 110 | + |
| 111 | +### 在Kubernetes中部署 |
| 112 | + |
| 113 | +请参见[此文档](./docs/deploy_on_kubernetes.md),查阅如何在Kubernetes中部署。 |
| 114 | + |
| 115 | +## 其他事项 |
| 116 | + |
| 117 | +### 使用模型从本地路径或git服务器或S3存储 |
| 118 | + |
| 119 | +请参见[此文档](./docs/git_server_s3_storage.md)的内容,查看如何从本地路径或git服务器或S3存储使用模型。 |
| 120 | + |
| 121 | +### 使用LLMServe模型注册表添加新模型 |
| 122 | + |
| 123 | +LLMServe允许您通过添加单个配置文件轻松添加新模型。 以了解有关如何自定义或添加新模型的更多信息,请参阅[此文档](./models/README.md)。 |
| 124 | + |
| 125 | +### 常见问题 |
| 126 | + |
| 127 | +更多问题,请参阅[此文档](./docs/common_issues.md)。 |
0 commit comments