|
2 | 2 |
|
3 | 3 | OpenGPT is an open-source cloud-native of large multi-modal models (LMMs).
|
4 | 4 |
|
| 5 | +OpenGPT is an open-source cloud-native large multi-modal models (LMMs) serving solution. |
| 6 | +It is designed to simplify the deployment and management of large language models, on a distributed cluster of GPUs. |
| 7 | + |
5 | 8 | **Warning**: This is an idea that I had and I wanted to try it out.
|
6 | 9 | The design has not been implemented yet.
|
7 | 10 | **The content of README.md is just a placeholder to remind me of what I want to do.**
|
8 | 11 |
|
| 12 | +## Features |
| 13 | + |
| 14 | +OpenGPT provides the following features to make it easy to deploy and serve large multi-modal models (LMMs) in production: |
| 15 | + |
| 16 | +- Support for multi-modal models |
| 17 | +- Scalable architecture for handling high traffic loads |
| 18 | +- Optimized for low-latency inference |
| 19 | +- Automatic model partitioning and distribution across multiple GPUs |
| 20 | +- Centralized model management and monitoring |
| 21 | +- REST API for easy integration with existing applications |
| 22 | + |
9 | 23 | You can learn more about OpenGPT’s [architecture in our documentation](https://opengpt.readthedocs.io/en/latest/).
|
10 | 24 |
|
11 | 25 |
|
@@ -142,6 +156,51 @@ response = requests.post(
|
142 | 156 | )
|
143 | 157 | ```
|
144 | 158 |
|
| 159 | +## Kubernetes |
| 160 | + |
| 161 | +To deploy OpenGPT on your Kubernetes cluster, follow these steps: |
| 162 | + |
| 163 | +1. Install the OpenGPT operator on your Kubernetes cluster using Helm: |
| 164 | + |
| 165 | + ```bash |
| 166 | + helm install opengpt ./helm/opengpt --namespace opengpt |
| 167 | + ``` |
| 168 | + |
| 169 | +2. Create a custom resource for your GPT model: |
| 170 | + |
| 171 | + ```YAML |
| 172 | + apiVersion: opengpt.io/v1alpha1 |
| 173 | + kind: GptModel |
| 174 | + metadata: |
| 175 | + name: my-gpt-model |
| 176 | + namespace: opengpt |
| 177 | + spec: |
| 178 | + modelPath: s3://my-bucket/my-model |
| 179 | + modelName: my-model |
| 180 | + maxBatchSize: 16 |
| 181 | + inputShape: |
| 182 | + - 1024 |
| 183 | + - 1024 |
| 184 | + - 3 |
| 185 | + outputShape: |
| 186 | + - 1024 |
| 187 | + - 1024 |
| 188 | + - 3 |
| 189 | +
|
| 190 | + ``` |
| 191 | + |
| 192 | +3. Apply the custom resource to your cluster: |
| 193 | + |
| 194 | + ```bash |
| 195 | + kubectl apply -f my-gpt-model.yaml |
| 196 | + ``` |
| 197 | + |
| 198 | +4. Monitor the status of your GPT model using the OpenGPT dashboard: |
| 199 | + |
| 200 | + ```bash |
| 201 | + kubectl port-forward -n opengpt svc/opengpt-dashboard 8080:80 |
| 202 | + ``` |
| 203 | + |
145 | 204 | ## Accessing models via API
|
146 | 205 |
|
147 | 206 | You can also access the online models via API. To do so, you can use the `inference_client` package:
|
@@ -209,4 +268,13 @@ Specifically, we implement the following fine-tuning methods:
|
209 | 268 |
|
210 | 269 | ## Documentation
|
211 | 270 |
|
212 |
| -For more information, check out the [documentation](https://opengpt.readthedocs.io/en/latest/). |
| 271 | +For more information, check out the [documentation](https://opengpt.readthedocs.io/en/latest/). |
| 272 | + |
| 273 | + |
| 274 | +## Contributing |
| 275 | + |
| 276 | +We welcome contributions from the community! To contribute, please submit a pull request following our contributing guidelines. |
| 277 | + |
| 278 | +## License |
| 279 | + |
| 280 | +OpenGPT is licensed under the Apache License, Version 2.0. See LICENSE for the full license text. |
0 commit comments