← Назад к вопросам

Чем занимался в последнее время?

1.2 Junior🔥 301 комментариев
#Опыт и проекты#Софт-скиллы и мотивация

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI30 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Текущие проекты и направления разработки

Основные активности в последнее время

1. Optimizing Large Language Models (LLM) для production

На последних проектах фокусируюсь на эффективности больших языковых моделей:

  • Quantization: снижение точности (FP32 → INT8) без потери качества
  • Pruning: удаление малозначимых нейронов для ускорения
  • Knowledge Distillation: обучение маленькой модели у большой учителя
# Пример: квантизация модели через transformers
from transformers import AutoModelForSequenceClassification
from optimum.onnxruntime import ORTQuantizer

model = AutoModelForSequenceClassification.from_pretrained("bert-base")
quantizer = ORTQuantizer.from_pretrained(model)
quantized_model = quantizer.quantize(
    save_dir="./quantized_bert",
    quantization_config=QuantizationConfig(is_static=False)
)
# Модель становится в 4 раза меньше, в 2-3 раза быстрее!

2. Реанализ убыточных проектов ML

Работаю с legacy-проектами, которые не показали ROI:

  • Анализирую, почему модель упала на production
  • Обычно причины: drift данных, неправильные метрики, утечка данных
  • Переучу модели с новой валидацией
# Диагностика дрифта
from evidently.report import Report
from evidently.metric_preset import DataDriftPreset

report = Report(metrics=[DataDriftPreset()])
report.run(reference_data=train_data, current_data=production_data)
report.show()

# Если drift велик, нужен переучение модели или переинженеринг признаков

3. Automl и AutoML-like решения

Активно использую инструменты для автоматизации ML pipeline:

  • H2O AutoML — автоматический выбор моделей
  • TPOT — genetic programming для поиска лучшего pipeline
  • Optuna — байесовая оптимизация гиперпараметров
from h2o.automl import H2OAutoML

# Запускаем AutoML на 1 час
aml = H2OAutoML(max_runtime_secs=3600, seed=1)
aml.train(y="target", training_frame=train_data)

# Получаем лучшую модель и Leaderboard
print(aml.leaderboard)
best_model = aml.leader

4. Feature Store и MLOps инфраструктура

Помогаю строить infrastructure для машинного обучения:

  • Feast или Tecton для управления признаками
  • DVC для версионирования данных и моделей
  • Airflow для оркестрации пайплайнов
# Пример feature store (Feast)
entities:
  - name: user_id
    value_type: INT64

feature_views:
  - name: user_features
    entities: [user_id]
    features:
      - name: purchase_count
      - name: avg_purchase_amount
    source: parquet_source

5. Interpretability и Explainability (SHAP, LIME)

Растёт спрос на объяснимость моделей в regulated industries:

  • SHAP values — анализ вклада каждого признака в предсказание
  • LIME — локальные объяснения для отдельных предсказаний
  • Attention visualization для трансформеров
# SHAP анализ для XGBoost модели
import shap

explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X)

shap.summary_plot(shap_values, X)  # Визуализирует важность признаков
shap.force_plot(explainer.expected_value, shap_values[0], X[0])  # Конкретное предсказание

6. Embeddings и Vector Search

Растёт применение эмбеддингов в поиске и рекомендациях:

  • Dense vector retrieval вместо TF-IDF
  • Semantic search через BERT/T5
  • Approximate Nearest Neighbors (Faiss, Milvus) для скорости
# Semantic search с BERT эмбеддингами
from sentence_transformers import SentenceTransformer
import faiss

model = SentenceTransformer('all-MiniLM-L6-v2')

# Индексируем документы
documents = ["Machine learning is...", "Data science involves..."]
embeddings = model.encode(documents).astype('float32')

index = faiss.IndexFlatL2(embeddings.shape[1])
index.add(embeddings)

# Поиск похожих документов
query = "What is ML?"
query_embedding = model.encode([query]).astype('float32')
distances, indices = index.search(query_embedding, k=3)

7. LLM fine-tuning и prompt engineering

С появлением ChatGPT, GPT-4 много времени на:

  • Fine-tuning LLM на специфичные домены (финтех, медицина)
  • Prompt engineering и few-shot learning
  • Интеграция LLM в классические ML пайплайны
# Fine-tuning GPT-3.5 на своих данных
from openai import OpenAI

client = OpenAI()

# Подготавливаем данные
training_data = [
    {"messages": [
        {"role": "system", "content": "You are a financial advisor."},
        {"role": "user", "content": "What is a stock?"},
        {"role": "assistant", "content": "A stock is..."}
    ]}
]

# Fine-tuning job
job = client.fine_tuning.jobs.create(
    training_file=upload_file(training_data),
    model="gpt-3.5-turbo"
)

Тренды, на которых фокусируюсь

  1. Efficiency: меньше параметров, меньше задержка, больше скорость
  2. Multimodal: текст + картинки + видео в одной модели
  3. Federated Learning: обучение без центрального сервера (privacy)
  4. Causal Inference: не просто корреляция, а причинно-следственные связи
  5. Real-time ML: системы, которые обновляются за миллисекунды

Инструменты, которые активно изучаю

  • Ray — distributed computing для ML
  • Polars — очень быстрый аналог Pandas
  • DuckDB — SQL OLAP для быстрого анализа
  • Hugging Face Spaces — хостинг ML демо без DevOps
  • Weights & Biases — логирование экспериментов на стероидах

Общий тренд: от монолитных моделей к модульным, эффективным системам, которые легко интегрировать в production и легко объяснить stakeholders.