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

Calibrax, сокращение от Calibrate + JAX, — это исследовательская preview-среда для научной ML-экосистемы JAX, базовые метрики Tier 0 которой проверены на соответствие эталонам scikit-learn и SciPy с допуском 1e-6. В ней принята 4-уровневая архитектура метрик, охватывающая 20 функциональных областей, включая регрессию, классификацию, калибровку, сегментацию, расстояния, дивергенции, информацию, ранжирование, статистику, кластеризацию, справедливость, прогнозирование, неопределённость, генеративные, изображения, текст, аудио, геометрию, графы и многообразие. Она предоставляет MetricRegistry для поиска метрик на основе аксиом, полную иерархию геометрических расстояний, графовые метрики, а также поддерживает композицию метрик, обёртки бутстрэп-доверительных интервалов, обёртку по классам, отслеживание метрик и функции потерь metric learning с майнингом сложных и полусложных негативных примеров. Возможности бенчмаркинга и профилирования включают учитывающий прогрев тайминг, который отделяет JIT-компиляцию, отслеживание CPU/памяти/памяти GPU/тактовой частоты/мощности, измерение энергопотребления и углеродного следа, подсчёт FLOP на уровне XLA, анализ производительности по roofline-модели, трассировку компиляции XLA, анализ алгоритмической сложности и автоматическое определение возможностей оборудования. Также включены встроенные инструменты статистического анализа для бутстрэп-доверительных интервалов, проверки гипотез, размеров эффекта и обнаружения выбросов, учитывающее направление обнаружение регрессий относительно сохранённых базовых линий, сравнение конфигураций и анализ фронта Парето, проверка сходимости, хранение файлов в формате JSON для каждого запуска с управлением базовыми линиями, интеграция с W&B и MLflow, вывод таблиц в LaTeX/HTML/CSV, готовых к публикации, и графики matplotlib, CI-шлюз для регрессий с автоматизацией git bisect, оповещения производственного мониторинга с настраиваемыми порогами и полноценный интерфейс командной строки. Поддерживается опциональная установка зависимостей для мониторинга GPU, плагинов качества изображений, плагинов качества текста и функций экспорта публикаций, а также множество запускаемых Python-скриптов и примеров в Jupyter notebook, охватывающих уровни использования от начального до продвинутого.