Подробное руководство по облачной инфраструктуре для ИИ-проектов. ai фреймворки.. ai фреймворки. dpu.. ai фреймворки. dpu. gpu.. ai фреймворки. dpu. gpu. nvlink.. ai фреймворки. dpu. gpu. nvlink. rdma.. ai фреймворки. dpu. gpu. nvlink. rdma. TPU.. ai фреймворки. dpu. gpu. nvlink. rdma. TPU. искусственный интеллект.. ai фреймворки. dpu. gpu. nvlink. rdma. TPU. искусственный интеллект. облачная инфраструктура.. ai фреймворки. dpu. gpu. nvlink. rdma. TPU. искусственный интеллект. облачная инфраструктура. Сетевые технологии.. ai фреймворки. dpu. gpu. nvlink. rdma. TPU. искусственный интеллект. облачная инфраструктура. Сетевые технологии. Хранение данных.

Всем привет!
Меня зовут Александр, я COO в SaaS-платформе аналитики данных. Последний год активно изучаю внедрение AI-решений в кросс-функциональные процессы. Делюсь материалами, которые помогают:

  • Продуктовым менеджерам — интегрировать AI без перегрузки команд;

  • Разработчикам — выбирать инструменты под конкретные бизнес-задачи;

  • Специалистам по данным — избегать ошибок в production-развертывании.

У себя в телеграм-канале делюсь сжатыми и структурированными саммери статей.

Сегодняшний перевод — Cloud Infrastructure for AI: What You Actually Need to Know

Статья представляет собой подробное руководство по облачной инфраструктуре для ИИ-проектов, фокусируясь на трёх ключевых компонентах: вычислительных ресурсах (GPU, TPU, CPU и др.), системах хранения данных и сетевых технологиях. Рассматривается, как эти компоненты взаимодействуют между собой и как выбор фреймворков влияет на эффективность всей системы.

Ключевые инсайты статьи:

  • разные типы процессоров имеют уникальные преимущества для конкретных задач ИИ (например, GPU эффективны для параллельных вычислений, TPU — для матричных операций)

  • современные системы хранения требуют оптимизации для предотвращения узких мест при работе с большими данными

  • высокоскоростные сетевые соединения (NVLink, Infiniband, RDMA) критично важны для распределённого обучения моделей.


Barak Epstein является старшим технологическим лидером более десяти лет. Он руководил проектами в области облачных вычислений и инфраструктуры в Dell, а сейчас в Google. В настоящее время он возглавляет работу по использованию параллельных файловых систем для рабочих нагрузок AI и HPC в Google Cloud. У нас с Бараком было несколько интересных бесед об инфраструктуре, стратегии и о том, как инвестиции в крупномасштабные вычисления могут создать новые парадигмы для AI следующего поколения (а не просто позволить делать больше того же самого, что было текущим подходом). Некоторые из вас могут помнить его отличный гостевой пост в прошлом году, где он говорил о том, как важно выйти за рамки поверхностных обсуждений AI, чтобы подумать о том, как достижения в возможностях AI переопределят наши отношения с ним (и даже нашу собственную идентичность о себе и наших способностях).

Барак вернулся с очередным классическим материалом. В этой статье он наводит мосты между специалистами по облачной инфраструктуре, профессионалами в области AI и любопытными неспециалистами. Он утверждает, что понимание облачной инфраструктуры — хотя бы на высоком уровне — становится необходимым базовым знанием. Вот что рассматривает Барак:

  • Вычисления – Основа AI: Понимание критической роли вычислений в AI, с акцентом на различия между GPU, CPU, TPU, DPU, FPGA и IPU, их соответствующих сильных сторонах и почему эти различия имеют значение.

  • Ключевые тенденции в аппаратном обеспечении для вычислений: Обсуждение последних разработок, особенно архитектур GPU, таких как Nvidia Blackwell, TPU Google Trillium и эволюционирующих инноваций CPU, которые всё больше имеют отношение к рабочим нагрузкам AI.

  • Хранение данных – Питание AI данными: Акцент на решающей, но часто упускаемой из виду роли хранения данных в производительности AI, включая проблемы производительности, стратегии оптимизации и влияние продвинутых методов хранения на проектирование AI-систем.

  • Сети – Основа AI: Изучение сетей как критически важного связующего элемента в инфраструктуре AI, с анализом технологий межкоммуникации GPU, связи GPU с хранилищем и продвинутых сетевых решений, таких как RDMA, NVLink и DPU.

  • AI-фреймворки – Связь моделей и инфраструктуры: Оценка ведущих фреймворков — JAX, PyTorch, TensorFlow — и того, как их уникальные характеристики взаимодействуют с инфраструктурой, влияя на эффективность и производительность моделей.

  • Пример использования – Edge-GNN: Взгляд на граничные графовые нейронные сети, иллюстрирующий, как конкретный выбор инфраструктуры (вычисления, хранение, сеть) напрямую влияет на возможности AI и принятие решений.


Как читать эту статью:

  • Для практикующих AI: Чтобы оптимизировать ваши AI-проекты, вам нужно уметь говорить на одном языке со специалистами по инфраструктуре. Этот гид вооружит вас знаниями для понимания ключевых компонентов облачной инфраструктуры, принятия обоснованных решений относительно ваших AI-рабочих нагрузок и эффективного сотрудничества с вашей инфраструктурной командой.

  • Для читателей-универсалов: Скопируйте эту статью в инструмент чата с LLM и спросите:

    • “Пожалуйста, обобщите эту статью. Сосредоточьтесь на 2-3 выводах относительно развития GPU, которые помогут мне следить за развитием и актуальностью этого критически важного элемента вычислительной инфраструктуры, о котором я мало знаю. Добавьте еще один или два вывода относительно остального содержания статьи. Пожалуйста, сделайте несколько предположений о том, как и где эти тенденции могут повлиять на мою область <вставьте вашу область здесь>.”

  • Для любого читателя: Скопируйте эту статью в инструмент чата с LLM и спросите:

    • “Расскажите мне короткую историю о содержании статьи. Помогите мне создать ментальную карту ключевых выводов, чтобы я мог начать следить за тенденциями в этих компонентах инфраструктуры.”

    • [По желанию] “Помогите мне понять, как эти тенденции связаны с моей областью <вставьте область здесь>.”

Я бы сказал, что некоторое знание технической инфраструктуры, даже на высоком уровне, должно быть частью “гуманитарного образования” будущего или, если вы предпочитаете, частью фундаментальных знаний каждого инженера по AI, специалиста по данным или даже среднестатистического образованного человека. Акцент на облачных технологиях здесь отчасти связан с тем, где я провожу свое время. Но я также считаю разумным сосредоточиться на облачной инфраструктуре как на прокси для обобщенной AI-инфраструктуры будущего, поскольку средний новичок на рынке, вероятно, будет использовать возможности и/или инструменты гиперскейлеров в обозримом будущем.

Мы рассмотрим каждую критическую область облачных вычислений (вычисления, хранение, сети) и выделим ключевые области инвестиций и/или узкие места в разработке, за которыми вам следует следить (даже поверхностно) в течение следующих нескольких лет. Мы также обсудим, как эти области работают вместе и как они объединяются AI-фреймворками.

Вычисления: Основа AI

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

Чтобы быть в курсе этого рынка, нужно (как минимум) обращать внимание на последнее поколение GPU, а также на их основные характеристики (например, размер памяти, пропускную способность памяти, количество ядер), даже если на высоком уровне.

Мы разделим раздел о вычислениях на две части. Если вы уже знакомы с основными типами процессоров, их относительными преимуществами и недостатками, можете перейти к Вычисления, часть II.

Вычисления, часть I: Обзор типов процессоров

CPU (Central Processing Unit) превосходны в последовательной обработке с небольшим количеством мощных ядер, оптимизированных для различных инструкций и доступа к памяти с низкой задержкой, что делает их идеальными для задач общего назначения.

GPU (Graphics Processing Unit) с тысячами более простых ядер и высокой пропускной способностью памяти предназначены для параллельной обработки, ускоряя вычислительно интенсивные задачи, такие как обучение AI и рендеринг графики.

TPU (Tensor Processing Unit) , разработанные исключительно Google, созданы специально для матричных умножений, лежащих в основе нейронных сетей, жертвуя гибкостью общего назначения ради исключительной производительности, специфичной для AI.

DPU (Data Processing Unit) специализируются на управлении данными, ускоряя сетевые операции, доступ к хранилищу и задачи безопасности для оптимизации потока данных в крупных AI-системах.

FPGA (Field-Programmable Gate Array, программируемые пользователем вентильные массивы) предоставляют гибкую аппаратную структуру, которую можно настроить для конкретных рабочих нагрузок, заполняя разрыв между процессорами общего назначения и специализированными ASIC (специализированными интегральными схемами).

IPU (Intelligence Processing Unit) оптимизированы для обработки графов и разреженных структур данных, что делает их хорошо подходящими для анализа взаимосвязанных данных в таких приложениях, как социальные сети и рекомендации.

Эти архитектурные различия определяют сильные стороны каждого процессора. Несколько сложных ядер CPU обрабатывают разнообразные рабочие нагрузки последовательно. Высокое количество ядер и высокая пропускная способность памяти GPU обеспечивают параллельную обработку для вычислительно сложных задач. Специализированная конструкция TPU отдает приоритет скорости матричного умножения для AI. DPU оптимизируют перемещение данных с помощью специализированного оборудования. Перенастраиваемая логика FPGA позволяет адаптировать их для конкретных алгоритмов, обеспечивая баланс производительности и гибкости. IPU – все еще нишевые – эффективно поддерживают анализ сложных отношений в графовых данных благодаря своей уникальной архитектуре.

Вычисления, часть II: Ключевые тенденции по типам чипов

GPU (графический процессор):

GPU обычно оцениваются на верхнем уровне по количеству поддерживаемых операций с плавающей запятой (FLOPS), объему памяти и пропускной способности памяти, а также по возможностям межсоединения (для коммуникации между GPU; подробнее об этом ниже).

Nvidia, конечно, является лидером рынка. Их новейшая реализованная архитектура, Blackwell, была официально анонсирована в 2024 году и включает (a) двойные кристаллы размером с маску (где два кремниевых элемента соединяются для создания единого функционального блока) и (b) вдвое большую пропускную способность памяти (8 ТБ/с против 4 ТБ/с) по сравнению с архитектурой Hopper, и (c) улучшенный Transformer Engine. Transformer Engine, представленный с архитектурой Hopper в 2022 году, позволяет снижать точность вычислений, когда потери модели малы, и указывает на еще одну ключевую особенность архитектуры GPU — поддержку вычислений со смешанной точностью, которая появилась в архитектуре Volta, впервые анонсированной в 2013 году и реализованной в продуктах в 2017 году.

Несколько других компаний производят GPU, включая AMD, Intel, Xilinx и Qualcomm. Эта статья рассматривает некоторые ожидаемые будущие тенденции в разработке GPU в более широкой области.

Схематический вид

Схематический вид

TPU (тензорный процессор): TPU был разработан специально для машинного обучения/AI. Они построены вокруг блока матричного умножения (MXU), предназначенного для ускорения матричных умножений, которые критически важны для нейронных сетей. Они также используют архитектуру ‘систолического массива‘, в которой данные проходят через чип “волнами”, отражая шаблон вычислений, необходимый для эффективной поддержки целевых операций (но не обязательно эффективный для других операций). Наконец, они обычно создаются для работы с вычислениями с пониженной точностью.

Trillium — это TPU 6-го поколения, представленный в 2024 году. Он удваивает объем высокоскоростной памяти и пропускную способность по сравнению с предыдущим поколением. Он также удваивает пропускную способность межсоединений (Interchip Interconnect) для связи между чипами в TPU-подах и на 67% более энергоэффективен, чем предыдущее поколение. Улучшения в межсоединениях используются для создания более крупных “TPU-подов”, где сотни TPU соединены для совместной работы, процесс, аналогичный тенденциям GPU, описанным выше.

Наконец, были внесены улучшения в Sparse Cores, которые имеют другую архитектуру, чем другие ядра TPU, и сосредоточены на повышении эффективности обработки эмбеддингов модели. Исследования показывают, что эти ядра выигрывают от различных шаблонов потоков данных, отличных от описанной выше систолической обработки. Другие специализированные структуры данных и операции помогают ускорить вычисление разреженных матриц, типичных для эмбеддингов.

CPU (центральный процессор):

GPU и специализированные ускорители, такие как TPU, заслуженно находятся в центре внимания для AI, но CPU также претерпевают значительные инновации, которые влияют на ландшафт AI. Вот некоторые ключевые тенденции:

1. Расширенные инструкции для AI:

  • Специализированные инструкции: Современные CPU включают специализированные инструкции для ускорения общих AI-операций, таких как матричное умножение, свертка и другие математические функции. Эти инструкции могут значительно улучшить производительность вывода AI на CPU.

  • Пример: Последние процессоры Intel Xeon включают Advanced Matrix Extensions (AMX), которые ускоряют матричные операции для поддержки глубокого обучения.

2. Оптимизированная память и кэши:

  • Более крупные кэши: CPU разрабатываются с более крупными (данными) кэшами для улучшения доступа к данным для рабочих нагрузок AI. Это уменьшает необходимость извлечения данных из основной памяти, что может быть узким местом для производительности AI.

  • Память с высокой пропускной способностью: Некоторые CPU поддерживают высокоскоростную память (HBM), которая предлагает значительно более высокие скорости передачи данных по сравнению с традиционной памятью. Это критически важно для задач AI, требующих быстрой обработки больших объемов данных.

3. Оптимизация программного обеспечения:

4. Гетерогенные вычисления:

  • Сотрудничество CPU-GPU: CPU все чаще используются совместно с GPU и другими ускорителями в средах гетерогенных вычислений. CPU обрабатывает такие задачи, как предварительная обработка данных и управление потоком, в то время как GPU или ускоритель фокусируется на вычислительно интенсивных задачах.

  • Унифицированная память: Эта технология позволяет CPU и GPU совместно использовать одно и то же пространство памяти, сокращая накладные расходы на передачу данных и упрощая программирование.

5. Периферийные вычисления:

  • Эффективный вывод на периферии: CPU хорошо подходят для вывода AI на периферии благодаря их более низкому энергопотреблению и универсальности. Это стимулирует инновации в CPU для периферийных устройств, таких как смартфоны, устройства IoT и встраиваемые системы.

  • Пример: Процессоры Arm широко используются в периферийных устройствах и оптимизируются для эффективного запуска меньших моделей AI.

DPU (блок обработки данных): Блоки обработки данных появляются как необходимые компоненты для управления огромными наборами данных, используемыми в современных приложениях AI. Они разгружают задачи, связанные с данными, включая управление сетевым трафиком, оптимизацию хранения и функции безопасности, с CPU и GPU. Это освобождает основные процессоры для сосредоточения на основных вычислениях AI, что приводит к улучшению общей производительности системы, особенно в крупномасштабных развертываниях AI, где узкие места данных могут быть значительной проблемой.

Nvidia резюмирует архитектурные компоненты DPU следующим образом:

  1. Отраслевой стандарт, высокопроизводительный, программно-программируемый, многоядерный CPU, обычно основанный на широко используемой архитектуре Arm, тесно связанный с другими компонентами SoC.

  2. Высокопроизводительный сетевой интерфейс, способный анализировать, обрабатывать и эффективно передавать данные на линейной скорости или скорости остальной части сети, на GPU и CPU.

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

IPU (блок обработки интеллекта): Блоки обработки интеллекта создают специализированную нишу в ландшафте AI, фокусируясь на ускорении графового AI. Они превосходны в ускорении графовых нейронных сетей (GNN), которые используются в различных приложениях, включая анализ социальных сетей, системы рекомендаций и даже открытие лекарств, благодаря их архитектуре, специально разработанной для обработки сложностей графовых данных.

FPGA (программируемая пользователем вентильная матрица): FPGA имеют долгую историю, датирующуюся десятилетиями. Это перепрограммируемые схемы, которые можно настроить для поддержки конкретных приложений. Они могут быть настроены для приложений AI и обычно потребляют меньше энергии, чем GPU, но требуют значительного начального программирования, что подходит не всем. Tech Target создал простое руководство для определения, подойдет ли FPGA для ваших потребностей в AI.

Почему вам следует заботиться об эффективности инфраструктуры

Почему вам следует заботиться об эффективности инфраструктуры

Хранение данных: Питание AI данными

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

Мы сосредоточимся на областях инноваций и/или узких местах, которые могут повлиять на разработку систем AI.

Узкие места производительности: Медленное хранение может серьезно повлиять на обучение AI, особенно с большими наборами данных, которые нужно быстро получать.

  • Скорость межсоединений: Скорость соединения между хранилищем и вычислительными ресурсами (например, пропускная способность сети) может ограничить скорость передачи данных и создать узкое место в производительности. Это напрямую связано с сетевыми технологиями, обсуждаемыми в предыдущем разделе.

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

  • Многоуровневое хранение: Перемещение данных между более медленными и более быстрыми уровнями хранения (например, от холодного хранения к горячему) может вводить задержку и влиять на производительность обучения AI. Хотя многоуровневое хранение может быть экономически эффективным, оно требует тщательного управления для минимизации накладных расходов на перемещение данных.

  • Взаимодействие хранилища и фреймворка: Неэффективное взаимодействие между системой хранения и AI-фреймворком (например, неэффективная загрузка данных) может повлиять на производительность. Фреймворки часто предоставляют инструменты и методы для оптимизации загрузки данных, и понимание их критически важно.

Оптимизация хранения

Облачные провайдеры решают эти проблемы с помощью:

  • Высокопроизводительных систем хранения: Оптимизированных для низкой задержки и высокой пропускной способности, использующих такие технологии, как NVMe-накопители и высокоскоростные сети.

  • RDMA и GPU Direct Storage: Обеспечение прямого доступа к хранилищу из GPU, минуя CPU и уменьшая задержку передачи данных. Это напрямую связано с сетевыми технологиями, обсуждаемыми ранее.

  • Многоуровневое хранение: Предлагает баланс производительности и стоимости через многоуровневое хранение, где данные размещаются на разных уровнях в зависимости от частоты доступа и требований к производительности.

Сети: Основа AI

Сети — это система кровообращения, которая соединяет вычисления и хранилища. Эффективные сети абсолютно критически важны для рабочих нагрузок AI, особенно тех, которые включают распределенное обучение на нескольких GPU или TPU, или тех, которые работают с огромными наборами данных, которые необходимо быстро получать из хранилища. Медленные или перегруженные сети могут создавать узкие места, которые серьезно ограничивают производительность ваших AI-приложений.

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

Межкоммуникация GPU: Эффективная коммуникация между GPU критически важна для крупномасштабных моделей AI, которые требуют совместной работы нескольких GPU.

  • NVLink: Технология высокоскоростного, низколатентного межсоединения NVIDIA позволяет GPU напрямую общаться друг с другом, минуя шину PCIe и значительно снижая задержку. Это критически важно для эффективного параллелизма данных и моделей при обучении.

  • Infiniband: Высокопроизводительный стандарт сетей, широко используемый в кластерах HPC. Infiniband обеспечивает низкую задержку и высокую пропускную способность, делая его подходящим для коммуникации между GPU в распределенной среде обучения AI.

Коммуникация GPU с хранилищем: Ускорение передачи данных между хранилищем и GPU необходимо для эффективного обучения AI, особенно с большими наборами данных, и напрямую связано с производительностью хранилища.

  • RDMA (удаленный прямой доступ к памяти): RDMA позволяет сетевым устройствам передавать данные непосредственно в память GPU или из нее без участия CPU. Это снижает задержку и улучшает пропускную способность для интенсивных по данным рабочих нагрузок AI.

  • GPUDirect: Технологии GPUDirect позволяют GPU обходить CPU и напрямую взаимодействовать с другими устройствами, такими как сетевые интерфейсные карты (NIC) или устройства хранения, снижая задержку и улучшая общую производительность системы.

Разгрузка сети: Разгрузка задач, связанных с сетью, с CPU на специализированное оборудование освобождает ресурсы CPU для вычислений AI и улучшает эффективность сети.

  • SmartNIC: Программируемые сетевые интерфейсные карты, которые могут разгружать такие задачи, как виртуализация сети, безопасность (например, шифрование/дешифрование) и доступ к хранилищу. Это снижает нагрузку на обработку CPU и улучшает производительность сети.

  • DPU (блоки обработки данных): Более мощные, чем SmartNIC, DPU — это выделенные процессоры, предназначенные для разгрузки и ускорения интенсивных по данным задач, включая сетевые, хранилищные и функции безопасности, и даже некоторые задачи вывода AI (см. раздел о вычислениях для более подробной информации).

AI-фреймворки: Мост между моделями и инфраструктурой

Современная разработка AI сильно зависит от мощных фреймворков, которые упрощают создание, обучение и развертывание моделей. Эти фреймворки часто оптимизированы для конкретного оборудования, особенно TPU и GPU, для максимальной производительности. Вот разбивка:

JAX:

  • JAX превосходен для крупномасштабных моделей и распределенного обучения. Его парадигма функционального программирования упрощает параллелизацию, а компилятор XLA оптимизирует код для различных аппаратных бэкэндов.

  • JAX особенно хорошо подходит для TPU. Его подход к функциональному программированию хорошо согласуется с архитектурой подов TPU, и эффективная компиляция XLA необходима для максимальной производительности TPU. Это делает JAX сильным выбором для обучения очень больших моделей на TPU.

  • В то время как JAX хорошо работает на GPU, особенно с оптимизациями XLA, его производительность на GPU может не всегда соответствовать высокооптимизированным реализациям PyTorch или TensorFlow. XLA по-прежнему играет ключевую роль в оптимизации выполнения на GPU, но другие фреймворки часто имеют более зрелые функции, специфичные для GPU.

PyTorch:

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

  • Интеграция PyTorch с TPU осуществляется через мост PyTorch/XLA. Тем не менее, JAX часто демонстрирует превосходную нативную производительность TPU. Эффективная загрузка данных из хранилища в TPU является ключевым соображением при использовании PyTorch на TPU.

  • PyTorch предлагает отличную производительность на GPU и является популярным выбором для глубокого обучения с ускорением на GPU. Для очень больших моделей критически важна оптимизация параллелизма данных и параллелизма моделей на нескольких GPU (и потенциально на нескольких узлах). Эта оптимизация часто включает использование высокоскоростных межсоединений, таких как NVLink и Infiniband, для эффективной коммуникации между GPU.

TensorFlow:

Сводка характеристик AI-фреймворка

Сводка характеристик AI-фреймворка

Функция

JAX

PyTorch

TensorFlow

Парадигма программирования

Функциональная

Императивная

Императивная/Декларативная (Keras)

Кривая обучения

Круче

Легче

Умеренная

Сообщество и экосистема

Растущая

Крупнейшая

Большая и зрелая

Производительность GPU

Отличная

Хорошая

Хорошая

Производительность TPU

Отличная

Приемлемая

Отличная

Сильные стороны

Высокопроизводительные вычисления, исследования, ускорение TPU/GPU

Простота использования, гибкость, динамические модели

Производственное развертывание, крупномасштабные приложения, Keras

Слабые стороны

Меньшее сообщество, круче кривая обучения

Может быть медленнее, менее оптимизирован для TPU

Может быть сложным, менее гибким (без Keras)

Выбор фреймворка влияет не только на стиль программирования и поддержку сообщества, но и на то, насколько эффективно ваша рабочая нагрузка AI использует инфраструктуру. Например, если вы обучаете огромную модель на TPU, JAX может предложить лучшую производительность благодаря своему оптимизированному компилятору. И наоборот, если вы работаете с моделью более умеренного размера на GPU, простота использования PyTorch и сильная поддержка сообщества могут сделать его лучшим выбором, при условии, что вы обращаете внимание на то, как он масштабируется с вашими данными и размером модели.

Избранные библиотеки AI с открытым исходным кодом

Избранные библиотеки AI с открытым исходным кодом

Применение Edge-GNN

Мы рассмотрели взаимодействие между AI и облачной инфраструктурой, выделив ключевые области, такие как вычисления, хранение и сети, и то, как они организованы AI-фреймворками.

Размышление о том, как узлы и рёбра работают в граничных графовых нейронных сетях

Размышление о том, как узлы и рёбра работают в граничных графовых нейронных сетях

Размышление о том, как узлы и рёбра работают в граничных графовых нейронных сетях: Смотрите эту “визуализацию сети персонажей для Легендариума Толкина. . . Размеры узлов логарифмически масштабированы на основе степеней узла [количество рёбер, подключенных к каждому узлу], толщина рёбер логарифмически масштабирована на основе весов рёбер [количество со-появлений персонажей]” [Источник, примечания в скобках мои.]

Давайте кратко рассмотрим конкретный пример в заключение этой статьи: рассмотрим “Графовые нейронные сети на основе рёбер” (Edge-GNN), где “ребро” относится к характеристикам, связанным с соединениями между узлами в графе (подробнее о графовых нейронных сетях здесь). Эти дополнительные характеристики предоставляют более богатую информацию для GNN, обеспечивая более точный и нюансированный анализ. Однако они также вводят вычислительные проблемы и проблемы хранения. Включение характеристик рёбер увеличивает размерность входных данных, влияя на объем памяти и требования к обработке. Это напрямую связано с инфраструктурными соображениями. Например, больший объем памяти и более высокая пропускная способность памяти становятся критически важными для обработки увеличенного объема данных [примечание: “ребро” используется в двух значениях в связанной статье]. Кроме того, вычислительная сложность обработки характеристик рёбер может требовать специализированного оборудования или программного обеспечения.

[Примечание: Я включаю приведенный ниже пример не потому, что знаю, что он верен, а потому, что он объединяет выразительный и (относительно) легко понятный пример для размышления о нюансах оптимизации выбора процессора и инфраструктуры для поддержки конкретной модели AI. Я начал исследовать приведенные ниже утверждения, чтобы проверить, верны ли они. Но эта задача оказалась немного непосильной. Я не мог заставить себя просто удалить эту историю, поскольку считаю ее такой увлекательной и поскольку она может “создать каркас” для моих будущих исследований по этой теме.]

Выбор правильного оборудования для вашей Edge GNN зависит от конкретной задачи. Рассмотрим простую GNN, предсказывающую дружбу. Каждый человек (узел) имеет такие характеристики, как возраст и интересы, а каждая дружба (ребро) имеет оценку “силы связи”. Для вычислений, если ваша GNN в основном объединяет характеристики человека и силу связи для прогнозов, гибкость GPU полезна. Однако для GNN с большим количеством сложных математических операций с этими данными, и если важна продолжительность работы от батареи, TPU может быть лучше, при условии, что вы сможете найти инструменты, которые эффективно обрабатывают данные о силе связи. Хранение данных имеет решающее значение, потому что GNN часто обращаются к данным нерегулярно, например, перескакивая между друзьями. Таким образом, то, как вы храните и получаете доступ к данным о людях и связях, влияет на скорость. Наконец, сети менее критичны, если вся сеть дружбы находится на одном устройстве. Но если сеть охватывает несколько устройств или силы связи часто меняются, критически важны сильные сетевые возможности.

И, наконец, если вы хотите пойти полностью перейти на Meta, прочитайте мнение Деванша о том, как Edge-GNN улучшили процесс проектирования чипов AI.

Автор: Kual

Источник

Рейтинг@Mail.ru
Rambler's Top100