0
0
Lập trình
Flame Kris
Flame Krisbacodekiller

Thêm Quan Sát Gemma 2B trên Kubernetes với Prometheus & Grafana

Đăng vào 5 tháng trước

• 3 phút đọc

Chủ đề:

KungFuTech

Giới thiệu

Trong bài viết này, chúng ta sẽ khám phá cách thêm khả năng quan sát cho Gemma 2B trên Kubernetes bằng cách sử dụng PrometheusGrafana. Khi thiết lập ban đầu, tôi đã mong đợi thấy những bảng điều khiển trực quan với các thông số như:

  • Số lượng token trên mỗi yêu cầu
  • Độ trễ trên mỗi lần suy luận
  • Số lần suy luận đã xử lý

Tuy nhiên, những gì chúng tôi nhận được chỉ là các chỉ số container nhàm chán: % CPU, mức sử dụng bộ nhớ, số lần khởi động lại.

Rõ ràng, họ đã cho chúng tôi biết pod đang hoạt động, nhưng không có thông tin gì về mô hình chính nó. Chúng tôi không biết liệu suy luận có chậm hay không, yêu cầu có bị hết thời gian hay không, hay có bao nhiêu token đã được xử lý.

🔍 Khắc Phục Vấn Đề Chỉ Số

Chúng tôi đã kiểm tra các vấn đề sau:

  • Prometheus có đang quét pod Ollama không? ✅
  • Các bảng điều khiển Grafana đã kết nối chưa? ✅
  • Điểm cuối chỉ số trên Ollama? ❌

Lúc đó, chúng tôi nhận ra rằng:

  • Ollama theo mặc định không cung cấp các chỉ số cấp mô hình.
  • Nó chỉ phục vụ API cho suy luận, không có gì khác.
  • Prometheus đang quét… nhưng không có thông tin hữu ích.

💡 Giải Pháp: Ollama Exporter như Sidecar

Trong quá trình tìm kiếm trên GitHub, chúng tôi đã tìm thấy một dự án: Ollama Exporter. Nó hoạt động như một container sidecar bên trong cùng một pod với Ollama, giao tiếp với API của Ollama và cung cấp các chỉ số thực tế tại /metrics cho Prometheus.

Cấu trúc sẽ như sau:

Copy
[ Pod Ollama ]
    ├── Ollama Server (API → 11434)
    └── Ollama Exporter (Metrics → 11435)

🛠 Cách Chúng Tôi Tích Hợp

Dưới đây là đoạn mã mà chúng tôi đã thêm vào triển khai Ollama:

Copy
- name: ollama-exporter
  image: ghcr.io/jmorganca/ollama-exporter:latest
  ports:
    - containerPort: 11435
  env:
    - name: OLLAMA_HOST
      value: "http://localhost:11434"

Và trong cấu hình Prometheus:

Copy
scrape_configs:
  - job_name: 'ollama'
    static_configs:
      - targets: ['ollama-service:11435']

📊 Các Chỉ Số Chúng Tôi Cuối Cùng Nhận Được

Sau khi thêm exporter, Grafana đã sáng rực với:

Copy
Tên Chỉ Số         Nội Dung Chỉ Số
ollama_requests_total   Số lượng yêu cầu suy luận
ollama_latency_seconds  Độ trễ trên mỗi yêu cầu suy luận
ollama_tokens_processed Số token đã được xử lý
ollama_model_load_time  Thời gian tải mô hình Gemma 2B

Đột nhiên, chúng tôi có khả năng quan sát mô hình thực sự, không chỉ là sức khỏe của pod.

🚀 Bài Học Rút Ra

  • Các chỉ số mặc định của Kubernetes không phải là chỉ số mô hình → Bạn cần một sidecar như Ollama Exporter.
  • Chỉ cần một công việc quét → Prometheus sẽ không quét những gì bạn không chỉ định.
  • Chỉ số giúp điều chỉnh → Chúng tôi đã sử dụng các chỉ số này để thiết lập yêu cầu CPU/bộ nhớ một cách hợp lý.

🔮 Bước Tiếp Theo

  • Giờ đây, khi chúng tôi đã có khả năng quan sát cấp mô hình, bước tiếp theo sẽ là:
  • Thêm quy tắc cảnh báo cho các đỉnh độ trễ hoặc lỗi token.
  • Xuất các chỉ số lịch sử vào kho lưu trữ dài hạn (ví dụ: Loki, Thanos).

Thử nghiệm nhiều mô hình Gemma 3, LLaMA 3, Phi-3 và so sánh độ trễ suy luận giữa chúng.

💬 Kết Nối Với Tôi

Nếu bạn thử thiết lập này hoặc cải thiện nó, tôi rất mong nhận được phản hồi từ bạn!

Hãy để lại một sao ⭐ trên repo nếu nó giúp ích cho bạn — điều này sẽ giúp tôi có động lực để viết thêm nhiều thử nghiệm như thế này!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào