AI Для Всех
12.8K subscribers
1.17K photos
152 videos
10 files
1.37K links
Канал, в котором мы говорим про искусственный интеллект простыми словами

Главный редактор и по рекламе: @crimeacs

Иногда пишут в канал: @GingerSpacetail, @innovationitsme
Download Telegram
Genji - CoPilot для бедных.

Модель GPT-J (open-source версия GPT-3 от Eluther AI) затюненая на генерацию кода на Python.

Colab
Модель на Huggingface
Spaces

#code #generative #nlp #gpt
JAX - что это такое и с чем его едят?

В последнее время много новинок от Google и DeepMind выходит на JAX, вместо привычного PyTorch или TF.

JAX - это новая библиотека в мире машинного обучения (ML), которая обещает сделать программирование ML более интуитивным, структурированным и чистым.

Основная и единственная цель JAX - выполнение числовых операций в высокопроизводительной форме. Это означает, что синтаксис практически идентичен Numpy.

Одним из главных преимуществ JAX является то, что мы можем запускать одну и ту же программу без каких-либо изменений на аппаратных ускорителях, таких как GPU и TPU.

Другой важный момент - это скорость. JAX быстрее. Намного быстрее. Например перемножение двух матриц (1000,1000) в NumPy занимает ~50ms, а в JAX ~1.5ms (на GPU).

В библиотеку встроен автоград. JAX способен дифференцировать всевозможные функции python и NumPy, включая циклы, ветвления, рекурсии и многое другое.

Факторы, делающие JAX таким быстрым:
* ускоренная линейная алгебра (Accelerated Linear Algebra или XLA).
* Just in time compilation (jit) - способ выполнения компьютерного кода, который предполагает компиляцию программы - во время выполнения - а не перед выполнением.
* Репликация вычислений между устройствами с помощью pmap - еще одно преобразование, которое позволяет нам реплицировать вычисления на несколько ядер или устройств и выполнять их параллельно (p в pmap означает parallel).
И ещё много различных трюков и улучшений.

Ещё одной особенностью JAX (и возможно даже более важной чем скорость) является Pseudo-Random number generator. В отличие от NumPy или PyTorch, в JAX состояния случайности должны быть поданы пользователем в качестве аргумента (что делает JAX по умолчанию намного более воспроизводимым).

Ещё больше деталей и примеров кода
Официальный GitHub

#gpu #code #jax
OpenAI Codex - просто чума!

Час назад, OpenAI провела лайв-демо своего нового API Codex, которое позволяет пользоваться их моделью для генерации кода. Было показано много прикольных применений типа автонаписания кода и даже игры на JavaScript. Но самое сладкое они оставили на конец.

У многих программ есть своё собственное API (например у Word). Так вот, Codeх способен к ним подключаться и напрямую управлять софтом. Например, в демо показано как с помощью одной голосовой команды можно удалить все лишние пробелы в вордовском документе или выделить жирным каждую 5ую строку!

Посмотреть презентацию можно тут: https://www.youtube.com/watch?v=SGUCcjHTmGY

#code #news #generative #nlp
Program Synthesis with Large Language Models

Авторы используют большие языковые модели для синтеза компьютерных программ, выполнения программ, решения математических задач и диалога с людьми для итеративного уточнения кода.
Модели могут решить 60% и 81% задач по программированию и математике, соответственно.

Оказалось что, большие модели не только решают проблемы, которые не могут решить меньшие модели, но и более надежно решают более простые проблемы, которые меньшие модели решают реже.

В статье разобранны различные аспекты работы с такими кодовыми моделями.

ArXiv

#code #generative #nlp
WebDataset

WebDataset - это реализация PyTorch Dataset (IterableDataset), обеспечивающая эффективный доступ к наборам данных, хранящимся в POSIX tar архивах, и использующая только последовательный/потоковый доступ к данным. Это дает существенное преимущество в производительности во многих вычислительных средах, и это очень важно для очень крупномасштабного обучения.

Хотя WebDataset масштабируется для решения очень больших задач, он также хорошо работает с небольшими наборами данных и упрощает создание, управление и распространение обучающих данных для глубокого обучения.

WebDataset реализует стандартный интерфейс PyTorch IterableDataset и работает с PyTorch DataLoader.

GitHub

#datasets #code #training
TorchRS

В репозитории реализованы в PyTorch популярные наборы данных и моделей в задачах дистанционного зондирования (обнаружение изменений, сверхразрешение изображений, классификация/сегментация растительного покрова, создание подписей к изображениям, аудиовизуальное распознавание и т.д.) для различных оптических (Sentinel-2, Landsat и т.д.) и радиолокационных датчиков с синтезированной апертурой (SAR) (Sentinel-1).

GitHub

#ScientificML #images #code #datasets
Facebook CodeGen

В репозитории представлен набор инструментов для машинного обучения на языках программирования. Он реализует токенизацию, предварительную обработку датасета, обучение модели и оценку модели.

Предоставлен эталонные реализации следующих работ:

DOBF: A Deobfuscation Pre-Training Objective for Programming Languages (2021)

TransCoder: Unsupervised Translation of Programming Languages (2020)

Также есть предобученные модели для языкового моделирования, перевода и деобфускации.

GitHub

#code
Papers with code - сайт-сообщество. В первую очередь знаменит своими лидер-бордами, где можно посмотреть State-of-the-art (SOTA) практически по любой задаче машинного обучения и датасету (например ImageNet).

К большинству статей прилагается код (часто официальная версия и не официальные релизы).

Paperswithcode.com

#basics #ScientifcML #code
Быстрая "версия" pandas

Синтаксис очень красивый и более похож на dplyr/data.table из R, которые заслжуенно считаются SOTA для работы с табличными данными

GitHub
Введение

Кстати, по скорости исполнения может побеждать уже упомянутый гипер-быстрый data.table (не говоря о скорее синтаксически красивом dplyr )

Скорость достигается за счет написания "кишок" на Rust и за счет хороших архитектурных решений

#code #datascience #dataframes
Benchmarking graph neural networks for materials chemistry

Графовые нейронные сети (GNN) вызывают повышенный интерес как быстро растущий класс моделей машинного обучения, удивительно хорошо подходящих для применения в науке о материалах. На сегодняшний день предложено и продемонстрировано несколько успешных GNN для стабильности кристаллов, прогнозирования электронных свойств химией, гетерогенного катализа. Однако последовательная оценка этих моделей по-прежнему отсутствует.

Авторы представляют рабочий процесс и платформу тестирования MatDeepLearn для быстрой и воспроизводимой оценки и сравнения GNNs и других моделей машинного обучения. Они используют эту платформу для оптимизации и оценки ряда наиболее эффективных GNN на нескольких репрезентативных наборах данных в области вычислительной химии материалов. В то же время, в работе, отмечаются и некоторые недостатки GNN и обсуждаются предложения по их совершенствованию для применения в химии материалов.

Статья
Код

#ScientificML #code #chemistry
Accelerate PyTorch models with ONNX Runtime

ONNX Runtime for PyTorch ускоряет обучение моделей PyTorch с помощью ONNX Runtime.

Он доступен через пакет torch-ort python. ONNX Runtime for PyTorch дает вам возможность ускорить обучение больших трансформеров. Время и стоимость обучения сокращаются всего лишь за счет изменения одной строки кода.

GitHub

#code #training #speed
This media is not supported in your browser
VIEW IN TELEGRAM
TorchIO

TorchIO - это библиотека для эффективного чтения, предварительной обработки, выборки, дополнения и записи 3D медицинских изображений в приложениях глубокого обучения, написанных на PyTorch, включая преобразования интенсивности и пространственные преобразования для дополнения и предварительной обработки данных. Преобразования включают типичные операции компьютерного зрения, такие как рандомные аффинные преобразования, а также специфические для данной области, такие как моделирование артефактов интенсивности из-за неоднородности магнитного поля МРТ или артефактов движения в k-пространстве.

Сайт
GitHub
Статья

#code #medicine #images #3d #ScientificML
Torch Inferenece Mode

Хотите, чтобы ваши модели в PyTorch работали быстрее на инференсе? Вот как это сделать.

Замените `torch.no_grad()` на `torch.inference_mode()`

inference_mode() - это torch.no_grad() на стероидах.

В то время как NoGrad отключает операции отслеживания Автограда, InferenceMode делает это на два шага вперед, потенциально ускоряя ваш код (YMMV в зависимости от сложности модели и аппаратного обеспечения).

Обратите внимание, что наибольшее ускорение достигается для легких операций, узким местом которых являются накладные расходы на отслеживание.

Если операции достаточно сложные, отключение отслеживания с помощью InferenceMode не дает большого ускорения; например, использование InferenceMode на ResNet101 forward

#inference #code