Skip to content

Commit 1de2e4f

Browse files
gHashTagona-agent
andcommitted
Add Fly.io deployment documentation
Co-authored-by: Ona <no-reply@ona.com>
1 parent d8f169e commit 1de2e4f

1 file changed

Lines changed: 199 additions & 0 deletions

File tree

docs/FLYIO_DEPLOY.md

Lines changed: 199 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
1+
# Деплой Trinity на Fly.io
2+
3+
## φ² + 1/φ² = 3 = TRINITY
4+
5+
Инструкция по деплою Trinity LLM inference на Fly.io с максимальными ресурсами (16 CPU cores).
6+
7+
---
8+
9+
## Предварительные требования
10+
11+
1. Аккаунт на [Fly.io](https://fly.io)
12+
2. Установленный `flyctl` CLI
13+
14+
---
15+
16+
## Шаг 1: Установка flyctl
17+
18+
```bash
19+
# Linux/macOS
20+
curl -L https://fly.io/install.sh | sh
21+
22+
# Добавить в PATH
23+
export FLYCTL_INSTALL="$HOME/.fly"
24+
export PATH="$FLYCTL_INSTALL/bin:$PATH"
25+
26+
# Проверить установку
27+
flyctl version
28+
```
29+
30+
---
31+
32+
## Шаг 2: Авторизация
33+
34+
```bash
35+
flyctl auth login
36+
```
37+
38+
Откроется браузер для входа в аккаунт Fly.io.
39+
40+
---
41+
42+
## Шаг 3: Клонирование репозитория
43+
44+
```bash
45+
git clone https://github.com/gHashTag/trinity.git
46+
cd trinity
47+
```
48+
49+
---
50+
51+
## Шаг 4: Создание приложения
52+
53+
```bash
54+
flyctl apps create trinity-inference
55+
```
56+
57+
---
58+
59+
## Шаг 5: Выбор размера машины
60+
61+
Доступные размеры в `fly.toml`:
62+
63+
| Size | CPU | RAM | Цена/час |
64+
|------|-----|-----|----------|
65+
| shared-cpu-1x | 1 shared | 256MB-2GB | ~$0.0035 |
66+
| shared-cpu-2x | 2 shared | 512MB-4GB | ~$0.007 |
67+
| shared-cpu-4x | 4 shared | 1GB-8GB | ~$0.014 |
68+
| shared-cpu-8x | 8 shared | 2GB-16GB | ~$0.028 |
69+
| performance-1x | 1 dedicated | 2GB-8GB | ~$0.057 |
70+
| performance-2x | 2 dedicated | 4GB-16GB | ~$0.114 |
71+
| performance-4x | 4 dedicated | 8GB-32GB | ~$0.228 |
72+
| performance-8x | 8 dedicated | 16GB-64GB | ~$0.456 |
73+
| **performance-16x** | **16 dedicated** | **32GB-128GB** | ~$0.912 |
74+
75+
Текущая конфигурация в `fly.toml`:
76+
77+
```toml
78+
[[vm]]
79+
size = "performance-16x"
80+
memory = "32gb"
81+
cpus = 16
82+
```
83+
84+
Для изменения размера отредактируйте `fly.toml`.
85+
86+
---
87+
88+
## Шаг 6: Деплой
89+
90+
```bash
91+
flyctl deploy
92+
```
93+
94+
Это:
95+
1. Соберёт Docker образ
96+
2. Загрузит на Fly.io
97+
3. Запустит машину с 16 CPU cores
98+
99+
---
100+
101+
## Шаг 7: Проверка статуса
102+
103+
```bash
104+
# Статус приложения
105+
flyctl status
106+
107+
# Логи
108+
flyctl logs
109+
110+
# SSH в машину
111+
flyctl ssh console
112+
```
113+
114+
---
115+
116+
## Шаг 8: Запуск benchmark
117+
118+
После деплоя, подключитесь к машине и запустите:
119+
120+
```bash
121+
flyctl ssh console
122+
123+
# Внутри машины
124+
cd /app
125+
./tri_inference /app/models/smollm2-360m.tri
126+
```
127+
128+
---
129+
130+
## Ожидаемая производительность
131+
132+
| Машина | Cores | Скорость | Speedup |
133+
|--------|-------|----------|---------|
134+
| Gitpod (текущая) | 2 | ~8 tok/s | 1x |
135+
| performance-4x | 4 | ~15 tok/s | 2x |
136+
| performance-8x | 8 | ~28 tok/s | 3.5x |
137+
| **performance-16x** | **16** | **~50 tok/s** | **6x** |
138+
139+
---
140+
141+
## Остановка машины (экономия денег)
142+
143+
```bash
144+
# Остановить машину
145+
flyctl machine stop
146+
147+
# Удалить приложение
148+
flyctl apps destroy trinity-inference
149+
```
150+
151+
---
152+
153+
## Альтернативный запуск (одноразовая машина)
154+
155+
Для быстрого теста без постоянного деплоя:
156+
157+
```bash
158+
flyctl machine run \
159+
--app trinity-inference \
160+
--vm-size performance-16x \
161+
--vm-memory 32768 \
162+
--entrypoint "/app/tri_inference /app/models/smollm2-360m.tri" \
163+
registry.fly.io/trinity-inference:latest
164+
```
165+
166+
---
167+
168+
## Troubleshooting
169+
170+
### Ошибка "No access token"
171+
```bash
172+
flyctl auth login
173+
```
174+
175+
### Ошибка "App not found"
176+
```bash
177+
flyctl apps create trinity-inference
178+
```
179+
180+
### Ошибка "Out of memory"
181+
Уменьшите размер модели или увеличьте RAM в `fly.toml`.
182+
183+
### Медленная сборка
184+
Используйте remote builder:
185+
```bash
186+
flyctl deploy --remote-only
187+
```
188+
189+
---
190+
191+
## Файлы конфигурации
192+
193+
- `fly.toml` - конфигурация Fly.io
194+
- `Dockerfile.flyio` - Docker образ для деплоя
195+
- `benchmark_flyio.sh` - скрипт оценки производительности
196+
197+
---
198+
199+
**KOSCHEI IS IMMORTAL | GOLDEN CHAIN IS CLOSED | φ² + 1/φ² = 3**

0 commit comments

Comments
 (0)