Об этом проекте

Troy — это интерфейс командной строки, созданный для упрощения процесса дообучения и preference-tuning больших языковых моделей (LLM) непосредственно на оборудовании Apple Silicon. Построенный на основе MLX и mlx-lm, он использует архитектуру унифицированной памяти Mac, чтобы обеспечить локальное обучение, которое в других случаях обычно требует рабочих станций с GPU. Ключевые возможности включают: - **Упрощённый рабочий процесс**: пользователи могут настраивать задачи обучения с помощью одного YAML-файла и запускать процесс командами вроде `troy train`. - **Локальное выполнение**: не нужны облачные сервисы или GPU, совместимые с CUDA; инструмент работает нативно на Mac с M1/M2/M3. - **Поддержка моделей**: совместим с различными архитектурами, поддерживаемыми mlx-lm, включая Llama, Qwen, Gemma, Phi и Mistral. Также поддерживает vision-language модели при установке с опциональными vision-зависимостями. - **Комплексный набор инструментов**: помимо обучения, Troy предоставляет утилиты для проверки совместимости системы (`troy doctor`), общения с обученными моделями (`troy chat`), оценки производительности (`troy eval`), запуска OpenAI-совместимого API (`troy serve`), экспорта в формат GGUF для других инструментов и отправки результатов в Hugging Face Hub. - **Гибкие режимы обучения**: поддерживает Supervised Fine-Tuning (SFT), Direct Preference Optimization (DPO) и ORPO. Инструмент стремится сделать продвинутую кастомизацию моделей доступной для разработчиков и исследователей со стандартным оборудованием MacBook, автоматически управляя памятью в зависимости от возможностей устройства.