Deployment Guide
20 minutes dakika okuma
Kimi K2 Technical Team

Kimi K2'yi Sıfırdan Dağıtmak: Tam Bir Pratik Rehber

Kimi K2'yi Sıfırdan Dağıtmak: Tam Pratik Rehber

Ön Söz

Kimi K2, trilyon parametreli bir uzman karışımı modeli olarak, geleneksel modellere kıyasla daha karmaşık bir dağıtım sürecine sahiptir, ancak aynı zamanda daha ilginçtir. Bu makale, ortam hazırlığından üretim düzeyinde dağıtıma kadar, Kimi K2'nin güçlü yeteneklerinden tam olarak yararlanmanızı sağlayacak kapsamlı bir dağıtım pratik rehberi sunacaktır.

İster en son AI teknolojisini deneyimlemek isteyen bir bireysel geliştirici olun, ister Kimi K2'yi üretim ortamlarına entegre etmeyi uman bir kurumsal teknik ekip olun, bu rehber size ayrıntılı referanslar sağlayacaktır.

Donanım Ortamı Gereksinimleri

Minimum Konfigürasyon Gereksinimleri

Kimi K2'yi dağıtmak, onun benzersiz MoE mimarisi özelliklerini dikkate almayı gerektirir:

GPU Bellek Gereksinimleri:

  • Çıktı Modu: En az 80GB GPU belleği (önerilen A100 80GB veya H100 80GB)
  • Geliştirme Testi: 48GB GPU belleği temel çıkarım yapabilir (A6000 veya RTX 6000 Ada)
  • Kuantize Dağıtım: 32GB GPU belleği INT8 kuantize versiyonunu çalıştırabilir (RTX 4090 veya A6000)

Sistem Belleği:

  • Minimum Gereksinim: 128GB sistem belleği
  • Önerilen Konfigürasyon: 256GB sistem belleği
  • Büyük Ölçekli Dağıtım: 512GB veya daha yüksek

Depolama Gereksinimleri:

  • Model Depolama: 2TB yüksek hızlı SSD (model ağırlıkları yaklaşık 1.8TB)
  • Önbellek Alanı: Çıktı önbelleği için 500GB ek alan
  • Sistem Alanı: İşletim sistemi ve bağımlılıklar için 100GB

Ağ Gereksinimleri:

  • Model İndirme: Kararlı yüksek hızlı ağ bağlantısı (önerilen 10Gbps+)
  • Dağıtılmış Dağıtım: Düşük gecikmeli ağ ortamı (gecikme < 1ms)

Önerilen Donanım Konfigürasyonu

Tek Makine Dağıtımı:

CPU: 64 çekirdekli Intel Xeon veya AMD EPYC
GPU: 2x NVIDIA H100 80GB veya 4x A100 80GB
Bellek: 512GB DDR4/DDR5
Depolama: 4TB NVMe SSD
Ağ: 10GbE ağ kartı

Küme Dağıtımı:

Düğüm Konfigürasyonu: 4-8 hesaplama düğümü
Tek Düğüm: 2x H100 80GB, 256GB bellek, 2TB SSD
Ağ: InfiniBand veya 100GbE bağlantı
Depolama: Dağıtılmış depolama sistemi (Ceph/GlusterFS)

Yazılım Ortamı Konfigürasyonu

İşletim Sistemi Hazırlığı

Önerilen Sistemler:

  • Ubuntu 22.04 LTS (önerilen)
  • CentOS 8 / Rocky Linux 8
  • RHEL 8+

Temel Ortam Konfigürasyonu:

# Sistemi güncelle
sudo apt update && sudo apt upgrade -y

# Gerekli araçları yükle
sudo apt install -y curl wget git vim htop nvtop

# Geliştirme araçlarını yükle
sudo apt install -y build-essential cmake pkg-config

CUDA Ortamı Kurulumu

CUDA Sürüm Gereksinimi: CUDA 12.1 veya daha yüksek

# CUDA 12.1'i indir
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run

# CUDA'yı yükle
sudo chmod +x cuda_12.1.0_530.30.02_linux.run
sudo ./cuda_12.1.0_530.30.02_linux.run

# Ortam değişkenlerini yapılandır
echo 'export PATH=/usr/local/cuda-12.1/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

# Kurulumu doğrula
nvidia-smi
nvcc --version

Python Ortamı Kurulumu

Python Sürümü: 3.9+ (önerilen 3.10)

# Ortam oluşturmak için conda kullan
conda create -n kimi-k2 python=3.10
conda activate kimi-k2

# Veya pyenv kullan
curl https://pyenv.run | bash
pyenv install 3.10.12
pyenv global 3.10.12

Bağımlılıkların Kurulumu

# Temel bağımlılıklar
pip install torch==2.1.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

# Transformers kütüphanesi
pip install transformers>=4.35.0

# Çıktı motoru bağımlılıkları
pip install accelerate>=0.25.0
pip install bitsandbytes>=0.41.0

# Opsiyonel: Gelişmiş özellikler
pip install deepspeed>=0.12.0
pip install flash-attn>=2.3.0

Çıktı Motoru Karşılaştırması ve Seçimi

vLLM Motoru

Özellikler:

  • Yüksek verimli çıkarım
  • Dinamik toplama
  • PagedAttention optimizasyonu
  • İyi MoE desteği

Kurulum ve Konfigürasyon:

pip install vllm>=0.2.5

# Servisi başlat
python -m vllm.entrypoints.openai.api_server \
  --model moonshot-ai/Kimi-K2-Instruct \
  --tensor-parallel-size 4 \
  --max-model-len 32768 \
  --port 8000

Avantajlar:

  • Yüksek bellek kullanım verimliliği
  • Büyük ölçekli eşzamanlılığı destekler
  • OpenAI formatıyla uyumlu API

Kullanım Durumları:

  • Üretim ortamı hizmetleri
  • Yüksek eşzamanlılık uygulamaları
  • API hizmeti dağıtımı

SGLang Motoru

Özellikler:

  • Yapılandırılmış üretim optimizasyonu
  • Verimli durum yönetimi
  • Karmaşık çıkarım desenlerini destekler

Kurulum ve Konfigürasyon:

pip install sglang[all]>=0.2.0

# Servisi başlat
python -m sglang.launch_server \
  --model-path moonshot-ai/Kimi-K2-Instruct \
  --tp-size 4 \
  --host 0.0.0.0 \
  --port 30000

Avantajlar:

  • Karmaşık üretim desenlerini destekler
  • Durum önbellekleme optimizasyonu
  • Esnek kontrol akışı

Kullanım Durumları:

  • Karmaşık akıl yürütme görevleri
  • Ajan uygulamaları
  • Araştırma ve geliştirme

KTransformers Motoru

Özellikler:

  • MoE modeli özel optimizasyonu
  • Bellek verimli yönetim
  • Uzman önbellekleme desteği

Kurulum ve Konfigürasyon:

pip install ktransformers>=0.1.0

# Python çağrı örneği
from ktransformers import KTransformersLLM

model = KTransformersLLM(
    model_path="moonshot-ai/Kimi-K2-Instruct",
    device_map="auto",
    max_memory={0: "40GiB", 1: "40GiB"}
)

Avantajlar:

  • MoE mimarisi optimizasyonu
  • Akıllı uzman zamanlaması
  • Bellek kullanımı optimizasyonu

Kullanım Durumları:

  • MoE modeli dağıtımı
  • Kaynak kısıtlı ortamlar
  • Araştırma deneyleri

TensorRT-LLM Motoru

Özellikler:

  • NVIDIA GPU derin optimizasyonu
  • Nihai çıkarım performansı
  • Üretim düzeyinde stabilite

Derleme ve Dağıtım:

# TensorRT-LLM'i indir
git clone https://github.com/NVIDIA/TensorRT-LLM.git
cd TensorRT-LLM

# Modeli derle
python examples/mixtral/build.py \
  --model_path moonshot-ai/Kimi-K2-Instruct \
  --dtype float16 \
  --use_gpt_attention_plugin float16 \
  --use_gemm_plugin float16 \
  --max_batch_size 32 \
  --max_input_len 32768 \
  --max_output_len 2048 \
  --output_dir ./kimi-k2-trt

Avantajlar:

  • En yüksek çıkarım performansı
  • En düşük gecikme
  • Kurumsal düzeyde destek

Kullanım Durumları:

  • Nihai performans gereksinimleri
  • Düşük gecikmeli uygulamalar
  • Kurumsal üretim ortamları

Ayrıntılı Dağıtım Adımları

Adım 1: Modeli Edinme

Hugging Face'den İndirme:

# git-lfs kullanarak
git lfs install
git clone https://huggingface.co/moonshot-ai/Kimi-K2-Instruct

# Veya huggingface-hub kullanarak
from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="moonshot-ai/Kimi-K2-Instruct",
    local_dir="./Kimi-K2-Instruct",
    local_dir_use_symlinks=False
)

ModelScope'dan İndirme (Çin kullanıcıları için önerilir):

pip install modelscope

from modelscope import snapshot_download
snapshot_download(
    'moonshot-ai/Kimi-K2-Instruct',
    local_dir='./Kimi-K2-Instruct'
)

Adım 2: Ortam Doğrulama

Doğrulama Scripti:

import torch
import transformers
from transformers import AutoTokenizer, AutoModelForCausalLM

def verify_environment():
    # CUDA kontrolü
    print(f"CUDA Kullanılabilir: {torch.cuda.is_available()}")
    print(f"CUDA Cihazları: {torch.cuda.device_count()}")
    print(f"CUDA Sürümü: {torch.version.cuda}")
    
    # GPU belleği kontrolü
    for i in range(torch.cuda.device_count()):
        props = torch.cuda.get_device_properties(i)
        print(f"GPU {i}: {props.name}, Bellek: {props.total_memory / 1e9:.1f}GB")
    
    # Transformers sürümü kontrolü
    print(f"Transformers Sürümü: {transformers.__version__}")
    
    return True

if __name__ == "__main__":
    verify_environment()

Adım 3: Temel Çıktı Testi

Basit Çıktı Örneği:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

# Modeli ve tokenizer'ı yükle
model_path = "./Kimi-K2-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_path,
    torch_dtype=torch.float16,
    device_map="auto",
    trust_remote_code=True
)

# Basit sohbet testi
def chat_test():
    messages = [
        {"role": "user", "content": "Kimi K2 modelinin özelliklerini kısaca tanıtır mısınız?"}
    ]
    
    text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
    inputs = tokenizer(text, return_tensors="pt").to(model.device)
    
    with torch.no_grad():
        outputs = model.generate(
            **inputs,
            max_new_tokens=512,
            temperature=0.7,
            do_sample=True,
            pad_token_id=tokenizer.eos_token_id
        )
    
    response = tokenizer.decode(outputs[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True)
    print(f"Asistan: {response}")

if __name__ == "__main__":
    chat_test()

Adım 4: Performans Optimizasyonu Konfigürasyonu

Bellek Optimizasyonu:

# Gradyan kontrol noktası kullan
model.gradient_checkpointing_enable()

# Flash Attention'ı etkinleştir
model.config.use_flash_attention_2 = True

# Karışık hassasiyet çıkarımı
model = model.half()  # fp16'ya dönüştür

Toplu İşleme Optimizasyonu:

def batch_inference(prompts, batch_size=4):
    results = []
    for i in range(0, len(prompts), batch_size):
        batch = prompts[i:i+batch_size]
        inputs = tokenizer(batch, return_tensors="pt", padding=True, truncation=True)
        
        with torch.no_grad():
            outputs = model.generate(
                **inputs,
                max_new_tokens=256,
                do_sample=True,
                temperature=0.7,
                pad_token_id=tokenizer.eos_token_id
            )
        
        for j, output in enumerate(outputs):
            result = tokenizer.decode(output[inputs.input_ids.shape[-1]:], skip_special_tokens=True)
            results.append(result)
    
    return results

Üretim Düzeyinde Dağıtım Çözümleri

Docker Konteynerleştirme

Dockerfile:

FROM nvidia/cuda:12.1-devel-ubuntu22.04

# Python ve bağımlılıkları yükle
RUN apt-get update && apt-get install -y \
    python3.10 \
    python3-pip \
    git \
    wget \
    && rm -rf /var/lib/apt/lists/*

# Çalışma dizini oluştur
WORKDIR /app

# Gereksinim dosyasını kopyala
COPY requirements.txt .

# Python bağımlılıklarını yükle
RUN pip3 install --no-cache-dir -r requirements.txt

# Uygulama kodunu kopyala
COPY . .

# Portu aç
EXPOSE 8000

# Başlatma komutu
CMD ["python3", "-m", "vllm.entrypoints.openai.api_server", \
     "--model", "/app/models/Kimi-K2-Instruct", \
     "--tensor-parallel-size", "2", \
     "--host", "0.0.0.0", \
     "--port", "8000"]

docker-compose.yml:

version: '3.8'

services:
  kimi-k2:
    build: .
    ports:
      - "8000:8000"
    volumes:
      - ./models:/app/models
      - ./logs:/app/logs
    environment:
      - CUDA_VISIBLE_DEVICES=0,1
    runtime: nvidia
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 2
              capabilities: [gpu]

Kubernetes Dağıtımı

Dağıtım Konfigürasyonu:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kimi-k2-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: kimi-k2
  template:
    metadata:
      labels:
        app: kimi-k2
    spec:
      containers:
      - name: kimi-k2
        image: kimi-k2:latest
        ports:
        - containerPort: 8000
        resources:
          requests:
            nvidia.com/gpu: 2
            memory: "128Gi"
            cpu: "16"
          limits:
            nvidia.com/gpu: 2
            memory: "256Gi"
            cpu: "32"
        env:
        - name: TENSOR_PARALLEL_SIZE
          value: "2"
        volumeMounts:
        - name: model-storage
          mountPath: /app/models
      volumes:
      - name: model-storage
        persistentVolumeClaim:
          claimName: kimi-k2-models

Yük Dengeleme ve Yüksek Erişilebilirlik

Nginx Konfigürasyonu:

upstream kimi_k2_backend {
    server 10.0.1.10:8000 weight=1 max_fails=3 fail_timeout=30s;
    server 10.0.1.11:8000 weight=1 max_fails=3 fail_timeout=30s;
    server 10.0.1.12:8000 weight=1 max_fails=3 fail_timeout=30s;
}

server {
    listen 80;
    server_name api.kimi-k2.local;
    
    location / {
        proxy_pass http://kimi_k2_backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        
        # Zaman aşımını artır
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
        
        # Önbelleği etkinleştir
        proxy_cache_bypass $http_upgrade;
    }
}

Yaygın Sorunlar ve Çözümler

Bellek Yetersizliği Sorunları

Sorun Tanımı: GPU bellek yetersizliği modelin yüklenmesini engelliyor

Çözümler:

# 1. Model paralelliğini kullan
model = AutoModelForCausalLM.from_pretrained(
    model_path,
    device_map="auto",
    max_memory={0: "40GiB", 1: "40GiB"},
    torch_dtype=torch.float16
)

# 2. CPU dışa aktarmayı etkinleştir
model = AutoModelForCausalLM.from_pretrained(
    model_path,
    device_map="auto",
    offload_folder="./offload",
    torch_dtype=torch.float16
)

# 3. Kuantizasyon kullan
from transformers import BitsAndBytesConfig

quantization_config = BitsAndBytesConfig(
    load_in_8bit=True,
    llm_int8_threshold=6.0
)

model = AutoModelForCausalLM.from_pretrained(
    model_path,
    quantization_config=quantization_config,
    device_map="auto"
)

Yavaş Çıktı Hızı

Sorun Tanımı: Çıktı hızı gereksinimleri karşılamıyor

Optimizasyon Çözümleri:

# 1. Flash Attention kullan
pip install flash-attn
model.config.use_flash_attention_2 = True

# 2. Toplu çıkarım
def optimized_batch_generate(prompts, batch_size=8):
    # Toplu işleme mantığını uygulayın
    pass

# 3. KV Önbelleği kullan
model.config.use_cache = True

# 4. Derleme optimizasyonu
torch.compile(model, mode="reduce-overhead")

Uzman Yük Dengesizliği

Sorun Tanımı: Bazı uzmanlar aşırı kullanılırken diğerleri boşta kalıyor

Çözümler:

# Uzman kullanımını izleme
def monitor_expert_usage(model):
    expert_counts = {}
    # Uzman aktivasyonunu izlemek için kanca fonksiyonları ekleyin
    def hook_fn(module, input, output):
        if hasattr(module, 'expert_id'):
            expert_id = module.expert_id
            expert_counts[expert_id] = expert_counts.get(expert_id, 0) + 1
    
    # Kancaları kaydet
    for name, module in model.named_modules():
        if 'expert' in name:
            module.register_forward_hook(hook_fn)
    
    return expert_counts

Model Yükleme Hataları

Sorun Tanımı: Model dosyası bozulması veya ağ sorunları

Çözümler:

# 1. Dosya bütünlüğünü doğrula
sha256sum *.bin

# 2. Bozuk dosyaları yeniden indir
git lfs pull

# 3. Ayna kaynakları kullan
export HF_ENDPOINT=https://hf-mirror.com

API Hizmeti Stabilitesi

Sorun Tanımı: API hizmeti zaman zaman çöküyor veya zaman aşımına uğruyor

Çözümler:

# 1. Sağlık kontrolleri ekle
@app.route('/health')
def health_check():
    try:
        # Basit çıkarım testi
        test_input = "Merhaba"
        # ... çıkarım mantığı
        return {"status": "healthy"}, 200
    except Exception as e:
        return {"status": "unhealthy", "error": str(e)}, 500

# 2. Yeniden deneme mekanizması uygula
import tenacity

@tenacity.retry(
    wait=tenacity.wait_exponential(multiplier=1, min=4, max=10),
    stop=tenacity.stop_after_attempt(3)
)
def reliable_generate(prompt):
    return model.generate(prompt)

# 3. İzleme ve günlükleme
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

def generate_with_monitoring(prompt):
    start_time = time.time()
    try:
        result = model.generate(prompt)
        duration = time.time() - start_time
        logger.info(f"Üretim {duration:.2f}s içinde tamamlandı")
        return result
    except Exception as e:
        logger.error(f"Üretim başarısız oldu: {str(e)}")
        raise

Performans İzleme ve Optimizasyon

Sistem İzleme

GPU İzleme Scripti:

#!/bin/bash
# gpu_monitor.sh

while true; do
    echo "$(date): GPU Durumu"
    nvidia-smi --query-gpu=timestamp,name,temperature.gpu,utilization.gpu,memory.used,memory.total --format=csv
    echo "---"
    sleep 30
done

Performans Metriği Toplama:

import psutil
import GPUtil
import time
from prometheus_client import start_http_server, Counter, Histogram, Gauge

# Metriği tanımla
REQUEST_COUNT = Counter('kimi_k2_requests_total', 'Toplam istekler')
REQUEST_DURATION = Histogram('kimi_k2_request_duration_seconds', 'İstek süresi')
GPU_MEMORY_USAGE = Gauge('kimi_k2_gpu_memory_usage_bytes', 'GPU bellek kullanımı')
GPU_UTILIZATION = Gauge('kimi_k2_gpu_utilization_percent', 'GPU kullanımı')

def collect_metrics():
    while True:
        # GPU metrikleri
        gpus = GPUtil.getGPUs()
        for i, gpu in enumerate(gpus):
            GPU_MEMORY_USAGE.labels(gpu_id=i).set(gpu.memoryUsed * 1024 * 1024)
            GPU_UTILIZATION.labels(gpu_id=i).set(gpu.load * 100)
        
        time.sleep(10)

# Metriği sunucusunu başlat
start_http_server(8080)

Performans Ayarlama Önerileri

Çıktı Gecikmesi Optimizasyonu:

  1. Uygun toplu boyutları kullan
  2. KV önbelleğini etkinleştir
  3. Uygun veri türlerini seç (FP16/BF16)
  4. Dizi uzunluklarını optimize et

Verimlilik Optimizasyonu:

  1. Paralelliği artır
  2. Dinamik toplama kullan
  3. Bellek tahsisini optimize et
  4. İstek kuyruklama uygula

Bellek Optimizasyonu:

  1. Gradyan kontrol noktası
  2. Model parçalama
  3. CPU dışa aktarma
  4. Kuantizasyon teknikleri

Güvenlik ve En İyi Uygulamalar

Güvenlik Dağıtım Kılavuzları

Ağ Güvenliği:

# SSL/TLS konfigürasyonu
server {
    listen 443 ssl http2;
    ssl_certificate /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256;
    
    # Güvenlik başlıkları
    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options DENY;
    add_header X-XSS-Protection "1; mode=block";
    add_header Strict-Transport-Security "max-age=31536000";
}

Erişim Kontrolü:

# API anahtarı doğrulama
def verify_api_key(api_key):
    # API anahtarını doğrula
    if api_key not in valid_api_keys:
        raise HTTPException(status_code=401, detail="Geçersiz API anahtarı")

# İstek sınırlama
from slowapi import Limiter, _rate_limit_exceeded_handler
from slowapi.util import get_remote_address

limiter = Limiter(key_func=get_remote_address)
app.add_middleware(SlowAPIMiddleware)
app.add_exception_handler(RateLimitExceeded, _rate_limit_exceeded_handler)

@limiter.limit("5/dakika")
@app.post("/v1/chat/completions")
async def chat_completions(request: Request):
    # Sohbet tamamlama isteklerini işleme
    pass

Veri Koruma:

# Girdi filtreleme ve temizleme
import re

def sanitize_input(text):
    # Potansiyel olarak zararlı içeriği kaldır
    text = re.sub(r'<script.*?</script>', '', text, flags=re.IGNORECASE)
    text = re.sub(r'javascript:', '', text, flags=re.IGNORECASE)
    return text.strip()

# Günlük temizleme
def sanitize_logs(log_data):
    # Hassas bilgileri kaldır
    patterns = [
        r'\b\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}\b',  # Kredi kartı numaraları
        r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b',  # E-posta adresleri
        r'\b\d{3}-?\d{2}-?\d{4}\b',  # SSN
    ]
    
    for pattern in patterns:
        log_data = re.sub(pattern, '[KAPATILDI]', log_data)
    
    return log_data

Operasyon En İyi Uygulamaları

Otomatik Dağıtım:

# deployment.yml
apiVersion: v1
kind: ConfigMap
metadata:
  name: kimi-k2-config
data:
  config.yaml: |
    model:
      path: "/models/Kimi-K2-Instruct"
      device_map: "auto"
      torch_dtype: "float16"
    server:
      host: "0.0.0.0"
      port: 8000
      max_concurrent_requests: 32
    monitoring:
      enabled: true
      prometheus_port: 8080

Yedekleme ve Kurtarma:

#!/bin/bash
# backup_script.sh

BACKUP_DIR="/backup/kimi-k2"
DATE=$(date +%Y%m%d_%H%M%S)

# Model dosyalarını yedekle
echo "Model dosyalarını yedekliyorum..."
tar -czf "${BACKUP_DIR}/model_${DATE}.tar.gz" /models/Kimi-K2-Instruct/

# Konfigürasyon dosyalarını yedekle
echo "Konfigürasyonu yedekliyorum..."
tar -czf "${BACKUP_DIR}/config_${DATE}.tar.gz" /app/config/

# Eski yedekleri temizle
find $BACKUP_DIR -type f -mtime +7 -delete

echo "Yedekleme tamamlandı: ${DATE}"

Sağlık İzleme ve Kendini İyileştirme:

import asyncio
import aiohttp
import logging

async def health_monitor():
    """Hizmet sağlığını sürekli izler"""
    while True:
        try:
            async with aiohttp.ClientSession() as session:
                async with session.get('http://localhost:8000/health') as response:
                    if response.status != 200:
                        logging.error(f"Sağlık kontrolü başarısız: {response.status}")
                        await restart_service()
                    else:
                        logging.info("Sağlık kontrolü başarılı")
        except Exception as e:
            logging.error(f"Sağlık kontrolü hatası: {e}")
            await restart_service()
        
        await asyncio.sleep(30)

async def restart_service():
    """Hizmeti yeniden başlat"""
    logging.info("Hizmeti yeniden başlatmaya çalışıyorum...")
    # Yeniden başlatma mantığını uygulayın
    pass

Sorun Giderme Kılavuzu

Yaygın Hata Teşhisi

CUDA Bellek Hataları:

# GPU kullanımını kontrol et
nvidia-smi

# GPU önbelleğini temizle
python -c "import torch; torch.cuda.empty_cache()"

# Toplu boyutunu azalt
export BATCH_SIZE=1

Model Yükleme Hataları:

# Model dosyası bütünlüğünü kontrol et
import os
import hashlib

def verify_model_files(model_path):
    required_files = [
        'config.json',
        'pytorch_model.bin',
        'tokenizer.json',
        'tokenizer_config.json'
    ]
    
    for file in required_files:
        file_path = os.path.join(model_path, file)
        if not os.path.exists(file_path):
            print(f"Kaybolan dosya: {file}")
            return False
    
    return True

Ağ Bağlantı Sorunları:

# Ağ bağlantısını test et
curl -X POST http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Kimi-K2-Instruct",
    "messages": [{"role": "user", "content": "Merhaba"}],
    "max_tokens": 100
  }'

# Port kullanımını kontrol et
netstat -tulpn | grep :8000

# Güvenlik duvarı ayarlarını kontrol et
sudo ufw status

Topluluk Desteği ve Kaynaklar

Resmi Kaynaklar

Belgeler ve Kılavuzlar:

Topluluk Desteği:

Katkıda Bulunma ve Geri Bildirim

Hata Raporu:

# Hata Raporu Şablonu

## Ortam Bilgileri
- OS: Ubuntu 22.04
- CUDA: 12.1
- Python: 3.10
- Kimi K2 Sürümü: v1.0.0

## Sorun Tanımı
[Aşırı ayrıntılı sorun açıklaması]

## Yeniden Üretim Adımları
1. [Adım 1]
2. [Adım 2]
3. [Adım 3]

## Beklenen Davranış
[Beklenen doğru davranışın açıklaması]

## Gerçek Davranış
[Gerçek davranışın açıklaması]

## Günlük Bilgileri

[İlgili günlükleri yapıştırın]

Özellik Talepleri:

  • GitHub Sorunları aracılığıyla gönderin
  • Topluluk forumlarında tartışın
  • Açık kaynak katkılarına katılın

Sonuç

Bu makale, Kimi K2 dağıtımı için temel kurulumdan üretim düzeyindeki uygulamalara kadar kapsamlı bir kılavuz sunmaktadır. Ana noktalar şunlardır:

  1. Donanım Seçimi: Yeterli GPU belleği kritik öneme sahiptir, A100 veya H100 önerilmektedir.
  2. Motor Seçimi: Kullanım durumlarına göre uygun çıkarım motorlarını seçin.
  3. Optimizasyon Stratejileri: Kuantizasyon, paralellik ve diğer tekniklerin rasyonel kullanımı.
  4. İzleme ve Operasyonlar: Kapsamlı izleme ve uyarı sistemleri kurun.
  5. Güvenlik: Ağ güvenliği ve veri korumaya odaklanın.
  6. Operasyon Uygulamaları: Otomatik dağıtım ve hata yönetimi mekanizmaları oluşturun.

Kimi K2 teknolojisi geliştikçe, dağıtım çözümleri de sürekli olarak optimize edilecektir. Resmi duyuruları takip etmeyi ve yeni optimizasyon tekniklerini zamanında benimsemeyi öneriyoruz.

Kimi K2'nin başarılı bir dağıtımı, yalnızca teknik yetenekleri değil, aynı zamanda iş gereksinimlerini derinlemesine anlamayı da gerektirir. Bu kılavuzun, dağıtımınızı sorunsuz bir şekilde tamamlamanıza ve Kimi K2'nin güçlü yeteneklerinden tam olarak yararlanmanıza yardımcı olmasını umuyoruz. İster kişisel araştırma projeleri, ister kurumsal düzeyde uygulamalar için olsun, Kimi K2, AI uygulamalarınız için güçlü teknik destek sağlayacaktır.

İlgili Makaleler

Moonshot AI, Kimi K2.6'yı resmi olarak piyasaya sürdü; Code Preview dalını 12 saatlik özerk kodlama oturumları, 300 ajanlı sürüler ve tam yığın oluşturma için tasarlanmış genel kullanıma açık bir modele yükseltti. Ne değişti, ne anlama geliyor ve nasıl kullanılır.
Kimi K2.6 hakkındaki ilginç soru ne yaptığı değil — açıkça hangi tür modeli barındırmak için inşa edildiğidir. 12 saatlik çalışmaları, 300 ajanlı sürüleri ve bağlam sıkıştırıcıyı yük taşıyan altyapı olarak ele aldığınızda K3'ün şekli görünür hale gelir.
13 Nisan 2026'da Moonshot AI, Kimi K2.6 Code Preview'ın beta test aşamasına girdiğini resmi olarak doğruladı. Bir trilyon parametreli MoE mimarisi üzerine inşa edilen bu yeni nesil model, kod üretimi ve ajan yeteneklerinde önemli iyileştirmeler sunuyor.