Записывайте, обучайте и развертывайте из одного места с помощью Strands Agents, LeRobot и Hugging Face Storage Buckets.
У вас есть агент, который уже может записать демонстрацию и отправить ее в Hugging Face Hub. Теперь вы хотите запускать этот цикл непрерывно: собирать эпизоды в течение дня, обучать политику на растущем наборе данных, развертывать ее и возвращать следующую партию, чтобы улучшить ее. Запустите этот цикл один раз, и каждая часть будет работать. Запускайте его каждый день, и вы начнете платить за одни и те же передачи байтов снова и снова. Загружаемые вами записи продолжают расти, каждый сеанс обучения копирует весь набор данных на графические процессоры перед его запуском, и каждая новая контрольная точка отправляется, пока возвращается следующая партия записей. В первой публикации этой серии был представлен Strands Robots, SDK с открытым исходным кодом от AWS (Apache 2.0), который предоставляет абстракции роботов, моделирование и стек LeRobot в виде AgentTools, которые вы объединяете в единый агент Strands. Он охватывал фабрику Robot(), записывал демонстрацию в моделировании, запускал политику и развертывал тот же код агента на физическом SO-101. Эта фабрика разрешает имя по реестру оружия, гуманоидов, мобильных баз и рук, поэтому SO-100, используемый в этом посте, является одним из многих поддерживаемых вариантов. В каталоге роботов перечислены все роботы, о которых знает завод. Формат набора данных LeRobot уже используется более чем 90 000 наборами данных и моделями в Hub от более чем 8 000 издателей (LeRobot Project Pulse). Запись Strands Robots — еще один из них, поэтому все, что создано для чтения данных LeRobot, может читать их без преобразования. Если вы новичок в Strands Robots, начните с этого; этот пост предполагает такую настройку. Этот пост следовал за циклом агента в одном направлении: от набора данных Хаба к физическому роботу. В этом случае данные следуют в обратном направлении, от первого записанного кадра обратно к развернутой политике, через Hugging Face Storage Buckets — изменяемый, неверсионный тип репозитория объектного хранилища на базе Xet, анонсированный в марте 2026 года. Корзина находится рядом с вашими репозиториями наборов данных в том же пространстве имен hf:// и использует уже имеющийся у вас интерфейс командной строки hf, поэтому она становится рабочим слоем, на котором хранятся ваши данные между днем, когда вы их записываете, и днем, когда вы на них тренируетесь. Кто-то должен решить, какие эпизоды оставить, когда сцена отошла достаточно далеко, чтобы ее можно было перезаписать, хватит ли сегодняшней партии для тренировки и какая контрольная точка заменит ту, что на руке. Каждое из этих решений принимается десятки раз в ходе кампании по сбору средств, и каждое из них требует анализа того, что было получено, прежде чем будет выдана следующая команда. Это работа, для которой нужен агент. В этом посте вы познакомитесь с циклом данных внутри одного агента: запишите демонстрацию в хранилище, сохраните ее так, чтобы при каждой синхронизации загружались только измененные байты, обучите, передавая набор данных прямо из хаба, а не загружая его, и разверните контрольную точку обратно на оборудование с одним изменением аргумента ключевого слова. Запускаемый компаньон этого поста находится по адресу example/notebooks/05_streaming_data_loop.ipynb. Что вы будете создавать Там, где в первом посте набор данных был записан и отправлен в хаб, созданный вами здесь агент записывает набор данных LeRobotDataset из подсказки на естественном языке, синхронизирует его с хранилищем и передает этот же набор данных назад кадр за кадром, декодируя видео с камеры на лету, без локальной копии. Вы читаете его обратно в том же процессе, в котором он был записан: тот же робот Strands Robots(), который записал набор данных, передает его в потоковом режиме. Затем ваша обученная контрольная точка развертывается в том же Robot() с одним изменением аргумента ключевого слова, и демонстрации, которые она записывает на оборудовании, возвращаются в ту же корзину. Рисунок 1. Четыре этапа используют один бэкэнд. Robot("so100") записывает LeRobotDataset через общий DatasetRecorder; sync_dataset_to_bucket(...) синхронизирует его с сегментом хранилища; stream_dataset(...) считывает его обратно через хаб без полной загрузки; и обученная контрольная точка развертывается на том же роботе с mode="real" . Формат на диске остается таким, каким его написал LeRobot. Поскольку один Robot() одновременно записывает набор данных и считывает его обратно, сбор данных и обучение на них — это два метода для одного объекта на одном бэкэнде. Агент решает запустить эпизод и вызывает один инструмент; Затем развертывание продолжается с частотой управления робота до тех пор, пока эпизод не закончится, при этом обученная политика производит каждое действие. Весь цикл в нескольких строках: from Strands Import Agent from Strands_robots import Robot sim = Robot( "so100") # mode="sim" (по умолчанию - безопасный, без аппаратного обеспечения) Agent = Agent(tools=[sim]) # Запишите демонстрацию и синхронизируйте ее с корзиной. Agent( "Запишите демонстрационную версию Pick-the-Cube и синхронизируйте ее с my-org/robot-fave." ) # Передавайте ее обратно из корзины для обучения, не загружая предварительно. для пакета в sim.stream_dataset( "my-org/robot-fave/cube_pick" , repo_type= "bucket" ).dataloader(batch_size= 64): ... Ниже показано, что на самом деле происходит внутри этого цикла, шаг за шагом. 💡 Где захостить и как запустить: рассчитать точные требования к объёму VRAM под разные типы квантования этой модели (4-bit Q4, FP8, FP16), оценить скорость генерации токенов в секунду и подобрать совместимый сервер с GPU можно на ServerSales в интерактивном подборщике AI-моделей или каталоге GPU-серверов.
Планируете развернуть эту нейросеть?
На ServerSales вы можете рассчитать точные требования к VRAM под разные типы квантования (4-bit Q4 / FP8 / FP16), оценить скорость генерации (токенов/сек) и сразу подобрать проверенный сервер с GPU от ведущих провайдеров.
Надежные облачные платформы и серверы в РФ
Крупнейший IaaS-провайдер РФ: облачные VPS, Bare Metal серверы и GPU-кластеры для ИИ.
Скоростные VPS от 299 ₽/мес, почасовая тарификация, готовые образы и GPU RTX 4090 / A100.
Timeweb Cloud
Cloud Start
CPU
1 ядер • 3.3 ГГц
RAM
1 ГБ
Диск
15 ГБ NVMe
Канал
200 Мбит/с
299 ₽/мес
Ищете точную конфигурацию под ваш бюджет?
Используйте наш интерактивный мастер подбора: рассчитайте точные ресурсы CPU, RAM и диска за 3 шага.