ABEJA Tech Blog
https://tech-blog.abeja.asia/
中の人の興味のある情報を発信していきます
フィード

SmolVLA×SO-101で色付きキューブ搬送【同期推論】
ABEJA Tech Blog
はじめに SmolVLAとは タスク設定とデータセット作成 タスク概要 環境 データセット作成 SmolVLA のファインチューニング 評価と結果 汎用性の評価 考察とまとめ We Are Hiring! はじめに こんにちは!ABEJAでエンジニアをしている宇留嶋です。2025年5月にオープンソース化されたSO‑101ロボットアームとHugging FaceのLeRobotライブラリを活用し今回Vision‑Language‑Action(VLA)モデルSmolVLAをファインチューニングして「色付きキューブを所定エリアに運ぶ」タスクに挑戦しました。本記事では、データセット作成から学習・評…
2日前

H200 GPU x 8基で Qwen2.5-VL-72B-Instruct を使った OCR を試してみる
21

ABEJA Tech Blog
ABEJAでデータサイエンティストをしている藤原です。 今回は、株式会社ハイレゾ様のGPUクラウドサービス「GPUSOROBAN」で H200 GPU × 8基構成のシングルノードサーバを用いて、大規模モデルを使用した検証を実施しました。本記事では、その検証でのGPUサーバの使用方法や、検証内容の一つである Qwen2.5-VL-72B-Instruct を用いたOCRの結果についてご紹介します。 highreso.jp はじめに GPUクラウドサービス「GPUSOROBAN」について GPUサーバの使い方の方針と事前準備 Qwen2.5-VL-72B-Instruct を使った OCR を試…
3日前

Raspberry Pi で作るWebカメラ映像配信(物体検出機能付き)
ABEJA Tech Blog
はじめに ABEJA 新卒エンジニアの和田です。 趣味で購入した Raspberry Pi が使われずに眠っていたため、USB 接続の Web カメラでリアルタイム映像を取得し、何か面白いことをしたいと思い立ちました。本記事では、低コストかつシンプルに映像入力環境を整える方法として、Raspberry Pi と USB カメラを用いたリアルタイム物体認識ストリーミングの構築手順を解説します。必要なのは Raspberry Pi 4 Model B と USB カメラだけ。数十分で映像のキャプチャから物体検出、ブラウザ配信までを一気に実現できます。この仕組みを作ることで、まず自宅に設置したカメラ…
3日前

SO-101で試すSmolVLA非同期推論
1

ABEJA Tech Blog
はじめに SmolVLAとは 非同期推論のメリット 非同期推論スタックの仕組み 全体構成 AsyncInference ServiceのRPC設計とデータフロー 実験 タスク定義 実行コマンド Policy Server起動コマンド Robot Client起動コマンド 実験結果 アクションキューサイズの経時変化 成功・失敗動画 考察とまとめ We Are Hiring! はじめに こんにちは、ABEJAでエンジニアをしている宇留嶋です。今回は Vision‑Language‑Action (VLA) モデルSmolVLAをSO‑101ロボットアーム上で非同期推論してみた結果と、その仕組みをア…
3日前

ロボティクス開発における学習用データ不足問題の解決手段?NVIDIA の「Isaac Sim & Lab」を使用してシミュレーター上で学習用データセットを生成する
4

ABEJA Tech Blog
こんにちは!ABEJA で ABEJA Platform 開発を行っている坂井(@Yagami360)です。 先日の記事では、NVIDIA のロボティクス用3Dシミュレーター「Isaac Sim & Lab」を使用して、物理演算が考慮された3Dシミュレーター上でロボティクスモデルを学習させたり推論させたりしながらロボットを動かす方法を紹介しました。 tech-blog.abeja.asia 今回の記事では、同じく Isaac Sim & Lab を使用して、シミュレーター上でのロボット遠隔操作や Isaac Lab Mimic により、ロボティクスモデルの学習用データセットを生成したり、生成し…
4日前

宣言的AIコーディングのススメ
ABEJA Tech Blog
こんにちは。CTO室の村主です。 Claude Codeを日々使う中で思っていることをGeminiに言語化してもらいました。 Gemini製作物ですので、超最新トレンドを掴んでいなかったり、書き味がイマイチなところも敢えて残していますので、読み物として楽しんでください。 宣言的AIコーディングのススメ AIがコードを書く時代が本格的に到来しつつあります。しかし、「AIにコードを書かせたけどうまくいかない」「毎回指示の仕方に悩む」といった声も聞かれるのではないでしょうか。その問題の根底には、AIへの「指示の出し方」があるのかもしれません。 この記事では、AIコーディングの効率と品質を劇的に向上さ…
11日前

SO‑101アームで卵を搬送!TPU製グリッパーの実力を測る
ABEJA Tech Blog
はじめに TPUフィラメントとは TPU製コンプライアントグリッパーの設計 グリッパーのプリントと完成品 卵の把持・搬送を実験 タスク設計 実験結果 考察とまとめ We Are Hiring! はじめに こんにちは!ABEJAでエンジニアをしている宇留嶋です。今回は、SO‑101ロボットアームのグリッパー先端(エンドエフェクター)を柔軟性の高いTPUフィラメントで3Dプリントし、「卵をつかんでも殻が割れない」コンプライアントグリッパーを作成しました。柔らかい指先を与えることで高精度な制御がなくても扱えるようになり、その効果をPLA製グリッパーと比較した結果を紹介します。 SO‑101アームの組…
15日前

NVIDIA のロボティクス用3Dシミュレーター「Isaac Sim & Lab」でロボットを動かす on Ubuntu Server
ABEJA Tech Blog
こんにちは!ABEJA で ABEJA Platform 開発を行っている坂井(@Yagami360)です。 先日の記事では、いずれも Gymnasium というライブラリを使用して簡易的な環境でモデルを推論させながらロボットを動かしてみました。 tech-blog.abeja.asia tech-blog.abeja.asia しかしながら実際のロボティクス開発においては、できるだけ現実世界に近くなるように物理演算が考慮された3Dシミュレーター上で動かしながらシミュレーションする必要があります。 このような3Dシミュレーターには、MuJoCo, Isaac Sim, Genesis, Pyb…
24日前

ロボティクスモデルの精度向上の挑戦 〜前処理モデル追加編(深度推定による精度向上)〜
ABEJA Tech Blog
こちらは「ロボティクスモデルの精度向上の挑戦」の後編記事になります。 前編は以下の記事をご参照ください。 tech-blog.abeja.asia 前編では、データオーギュメントの改善によりモデルの汎化性能を向上させることを実現しましたが、今回の記事では前処理モデルを追加することにより、モデルの Max 品質を向上させることを目指します。 前処理モデル追加によるモデル改善 深度マップ用の前処理モデル追加 まとめ We Are Hiring! 前処理モデル追加によるモデル改善 今回の方法では、コアのAIモデル(今回の場合はロボティクスモデル)とは別の前処理用のAIモデルを追加する方法でのモデル改…
25日前

ロボティクスモデルの精度向上の挑戦 〜データ拡張(Data Augmentation)編〜
ABEJA Tech Blog
こんにちは!ABEJA で ABEJA Platform 開発を行っている坂井(@Yagami360)です。 先日の記事で、LeRobot で公開されているロボティクス領域の VLA モデル「π0」をファインチューニングした上で Gymnasium シミュレーター環境上で動かす方法を解説しました。 tech-blog.abeja.asia 前回の記事では、ただ単に公開されている学習用データセットでモデルをファインチューニングして推論させるだけの簡単な内容でしたが、今回はもう少し踏み込んでモデル自体の改善をやってみようと思います。 また前回はロボティクスモデルとして π0 モデルを動かしましたが…
25日前

LeRobot Worldwide HackathonにABEJAチームとして参加しました
ABEJA Tech Blog
2025年6月14日から15日にかけて、LeRobot Worldwide Hackathonが開催され、ABEJAのロボット好きメンバーも参加しました! このハッカソンでの挑戦内容や学びについてまとめていきます。 そもそもLeRobotとは LeRobotは、Hugging Face社が主導するオープンソースのロボティクスフレームワークです。フレームワークといってもその範囲はソフトだけでなくハードにまで及び、学習済みモデルだけでなく、そのデータセットやシミュレーター、学習用のパイプライン、そしてSO-101ロボットアームなどの公開されたハードウェアで構成されます。 従来のルールベースやモデル…
25日前

今すぐ動かせるROS Noetic
ABEJA Tech Blog
ABEJA 新卒エンジニアの和田です。 ロボット開発では、各種センサやアクチュエータ、制御アルゴリズムなどを組み合わせる必要があります。ROS(Robot Operating System)はこうした複雑な要素を「分散システム」としてまとめ、開発を効率化するための通信ミドルウェア的フレームワークです。ROS 1 Noetic は公式サポートが2025年5月に終了しており、ROS 2は進化したリアルタイム制御やマルチプラットフォーム対応、セキュリティ強化が魅力です。まずはROS 1 Noeticを理解することで、ROSの基本的な概念や開発フローを学びやすいため、本記事ではROS 1 Noetic…
1ヶ月前

15分で作るSO-ARMシミュレーション環境(MuJoCo)
ABEJA Tech Blog
ABEJA 新卒エンジニアの和田です。 LeRobot Worldwide Hackathonに ABEJA の有志チームとして参加しました。ハッカソンでは模倣学習をテーマにロボットアームの動作を再現したかったのですが、実機を揃えられなかったため、MuJoCo 上でのシミュレーション環境構築を試みました。本記事では、macOS 環境でオープンソースのロボットアーム「SO-101」を MuJoCo 上で動かすセットアップ手順をご紹介します。実機をお持ちでない方でも、手軽にシミュレーションを始められるよう、スクリーンショットやコマンドを交えて丁寧に解説します。 huggingface.co 前提と…
1ヶ月前

Amazonに売ってるモノで6軸ロボットアームを自作してみた (3Dモデル+ソースコード付き)
ABEJA Tech Blog
はじめに 設計まわり 構造・機械 電源回路 制御回路 制御処理 制御用SDK周り アーム作成の様子 今回の学び 技術面 その他:ロボット作りはお金がかかる 3Dモデル・ソースコードについて 追記:開発合宿で利用しました We Are Hiring! はじめに ABEJA大田黒です。前回は以下の記事を執筆しました。今回はロボットアームを作ったので、そのお話になります。 tech-blog.abeja.asia ロボットアームを自作しようと思ったきっかけについて触れます。 将来的に家事をすべてロボット化したい。その為に、比較的安価で関節トルクが強いロボットアームがほしい VLAの研究開発環境が自宅…
1ヶ月前

ABEJA開発合宿開催レポート 〜ロボティクスハッカソン〜
ABEJA Tech Blog
t-Expertsとは 開発合宿概要 コンテストのルール 各チーム配布物 その他備品 評価基準 合宿の様子(全体) スケジュール 食事、温泉、そして・・・ 開発の様子 コンテストの様子 チームA:「画像認識×機械学習の王道アプローチ」 チームB:「人間の知恵を活かす探索型」 チームC:「確実性と挑戦性のハイブリッド戦略」 チームD:「LLM活用×コスパ重視の現代的アプローチ」 結果と表彰 合宿のまとめとその後の様子 We Are Hiring! こんにちは!ABEJAでプロジェクトマネージャーをしている服部です!今回はABEJA社内で開発合宿の企画・運営をしましたので、レポートを記そうと思いま…
1ヶ月前

【初心者が】ロボットアーム SO-101組み立てレポート ※ 2025/06/16更新【手順更新しました】
ABEJA Tech Blog
はじめに 先にまとめ 全体 事前準備 パーツの入手 uvのインストール その他あると便利なもの 組み立て手順 LeRobotのインストール モーターの設定 電源の接続 各モーターバスに関連付けられたUSBポートを見つける 設定ファイルの更新 モーターIDの設定 ジョイントの組み立て ファームウェアの更新(Windows PCのみで可能) キャリブレーション フォロワーアーム/リーダーアームの手動キャリブレーション ロボットの制御 テレオペレーション おわりに We Are Hiring! はじめに こんにちは。 株式会社ABEJAのシステム開発部でエンジニアをしている中島です。 以前にロボット…
1ヶ月前

Claude Code で要望からデプロイまでを爆速にするツールを作った
ABEJA Tech Blog
こんにちは。CTO室の村主です。 みなさん、Claude Code や Cursor で色々なアプリを Vibe Coding していると思います。いきなり本番環境をゴリゴリ Vibe Coding している人は限られていると思いますが、ひとまず社内系のアプリケーションなら品質は置いといて爆速で作っていけると思います。 そこで、要望からデプロイまでを爆速にするツールを作ったので公開します。 背景 Claude Code で開発するとサクサク機能追加できます。でも非エンジニア含めてみんながみんな Claude Code を使いこなせるわけじゃないです。 そこで Claude Code Actio…
2ヶ月前

iOSアプリ開発者のための Core ML フォーマット比較と最適運用法
ABEJA Tech Blog
こんにちは、ABEJA 新卒エンジニアの和田です。 PyTorchで学習したResNet18ベースの年齢・性別推定モデルをCore MLへ変換する際に遭遇した「形式エラー」と、その回避策として、Core MLを使ってiOSアプリを作成している人や .mlmodel と .mlpackage の使い分けがわからない人に向けて、実際のコードの解読まで深掘りしていきます! 背景:なぜCore MLなのか 私が直面した“モデル形式エラー” 1. Core MLフォーマットの内部構造を覗く 2. .mlmodel 深掘り:Protocol Buffers仕様 メリット/デメリット 3. .mlpacka…
2ヶ月前

ハイパーパラメータ調整時間を激減、μPでLLMを爆速最適化する話
ABEJA Tech Blog
MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], processEscapes: true } }); はじめに μP(Maximal Update Parametrization)とは μPが解決する根本的な問題 なぜハイパーパラメータ転移が困難なのか:SPの根本問題 μPの仕組み 順伝播における「初期状態」の安定化 学習を支配する「パラメータ更新」のスケーリング ハイパーパラメータの計算例 μPの実装 Qwen2.5で実験 まとめ We Are Hiring! はじめに こんにちは。Labsチ…
2ヶ月前

Celery入門──非同期処理・定期実行・可観測性まで解説
ABEJA Tech Blog
はじめに 1. Celery のアーキテクチャと三大要素 1.1 Broker の選び方 1.2 Worker の実行モデル 1.3 Backend の選択と結果管理 2. シンプルタスクとリトライ戦略 2.1 タスクの定義と呼び出し方 2.2 タスクの呼び出し方法:.delay() と .s() の違い 2.3 障害耐性:自動リトライ 3. 複雑ワークフロー:Chain・Group・Chord 3.1 よくある落とし穴とその回避法 4. 定期ジョブ:Celery Beat 5. 可観測性とアラート 5.1 JSON ログ 5.2 メトリクス 6. ローカルモック&スケーリング(Docker …
2ヶ月前

LLMの他言語混ざり問題の評価と日本語追加学習の効果について
ABEJA Tech Blog
ABEJAでデータサイエンティストをしている服部です。 弊社は、経済産業省とNEDOが実施する、国内の生成AIの開発力強化を目的としたプロジェクト「GENIAC(Generative AI Accelerator Challenge)」の1期に続き、2期にも採択され、そこで大規模言語モデルの開発を進めています。 その中でQwen2.5をベースとして継続事前学習を行なったモデルをいくつか開発し、公開しています。 tech-blog.abeja.asia tech-blog.abeja.asia tech-blog.abeja.asia 1月に公開した32Bモデルのブログにも記載したのですが、時々…
2ヶ月前

ロボット同士が対話により言葉を創る?「記号創発ロボティクス」解説
ABEJA Tech Blog
ABEJA でデータサイエンティストをしている岩城です。 先日弊社は、京都大学大学院情報学研究科教授 谷口 忠大先生に顧問としてご参画いただきました。谷口先生は、記号創発システム分野において広範な研究を推進する第一人者でいらっしゃいます。 www.abejainc.com 本記事では、谷口先生が取り組まれている記号創発ロボティクスについて、自身の解釈も交えながら解説していこうと思います。参考にした中心的な論文は以下です。 doi.org 記号創発 記号創発システム 記号創発ロボティクス 場所概念獲得モデル 確率的生成モデルによる記号創発システムのモデル化 集合的予測符号化に基づく記号創発ロボテ…
2ヶ月前

実機 SO-101で挑む模倣学習の実践 (Action Chunking with Transformers適用)
ABEJA Tech Blog
はじめに SO-101の初期セットアップ 模倣学習の実践 タスク設定 カメラセットアップ データセット作成 学習プロセス 評価と結果 まとめと今後の展望 We Are Hiring! はじめに こんにちは!ABEJAでエンジニアをしている宇留嶋です。2025年5月SO-101 がオープンソースで公開され、ハードウェアの民主化によって「ロボティクス × AI」の実験速度は一気に加速し、研究室レベルだった試みが個人でも実践可能になりつつあります。今回はロボットアームSO-101とHugging FaceのLeRobotライブラリを使って模倣学習に挑戦してみました。本記事では、模倣学習の実験過程(セ…
2ヶ月前

Googleプロンプトエンジニアリングホワイトペーパー完全解説:実践テクニックとベストプラクティス
ABEJA Tech Blog
はじめに こんにちは!ABEJAのシステム開発部でソフトウェアエンジニアをしている関です。 日々の業務でLLMを活用する中で、「AIにどう指示すれば効率的に期待どおりの結果が得られるのか」という課題に直面していました。試行錯誤の繰り返しで時間を取られることも多く、このやりとりを効率化したいと考えていた時に出会ったのが、Googleが2025年2月に公開したプロンプトエンジニアリングに関するホワイトペーパーです。その内容は非常に実践的で、私のLLM活用スキル向上に大いに役立つものでした。 このホワイトペーパーは、プロンプトエンジニアリングの基礎から応用まで、実践的な手法を網羅的に解説しています。…
2ヶ月前

VLAモデル「π0」のファインチューニングと推論入門 with LeRobot + Gymnasium
ABEJA Tech Blog
こんにちは!ABEJA で ABEJA Platform 開発を行っている坂井(@Yagami360)です。 先日の記事で、ロボティクス領域の VLA モデル「π0」の内部の仕組みを解説しました。 tech-blog.abeja.asia 今回の記事では、この「π0」を LeRobot を使用して実際に動かしてます。(π0 を動かす分には、中身の仕組みは必ずしも知らなくても十分なので↑の記事はスキップしてもらってもOKです。) とはいえ、いきなり実機で動かすのは色々ハードルがあるので、この記事では Gymnasium でのシミュレーター環境上で動かしたり(推論させたり)、ファインチューニングし…
2ヶ月前

ABEJA Qwen2.5-32B Modelの事後学習に向けたデータセット作りの道のり
ABEJA Tech Blog
ABEJAでデータサイエンティストをしている大谷です。 弊社は、経済産業省とNEDOが実施する、国内の生成AIの開発力強化を目的としたプロジェクト「GENIAC(Generative AI Accelerator Challenge)」の1期に続き、2期にも採択され、そこで大規模言語モデルの開発を実施しました。 これまでにGENIAC2期の取り組みで3つのモデルを公開してきました。 これらのモデルはAlibaba社が開発したQwen2.5-32B-Instruct、QwQ-32B、Qwen2.5-7B-Instructをベースモデル、差分Vector用モデルとして用いています。 7Bと32Bの…
2ヶ月前

【初心者でも】ロボットアーム SO-101組み立てレポート ※ 旧手順【ロボット作りたい】
ABEJA Tech Blog
2025/06/16: 情報を更新しました! 新しい手順は下記をご覧いただけると幸いです! tech-blog.abeja.asia 本記事の手順は古いので、旧手順を何かで参照したい場合にお使いください! 本記事の手順が古いことを判った上で参照したい方は進んでください! はじめに 先にまとめ 事前準備 パーツの入手 uvのインストール 組み立て手順 LeRobotのインストール モーターの設定 電源の接続 各モーターバスに関連付けられたUSBポートを見つける 設定ファイルの更新 モーターIDの設定 ジョイントの組み立て ファームウェアの更新(Windows PCのみで可能) キャリブレーション…
2ヶ月前

小型LLM「ABEJA Qwen2.5-7B Model」学習のための蒸留のパイプライン並列化
ABEJA Tech Blog
はじめに こんにちは、Labsチームの藤本です。 弊社は、経済産業省とNEDOが実施する、国内の生成AIの開発力強化を目的としたプロジェクト「GENIAC(Generative AI Accelerator Challenge)」の1期に続き、2期にも採択され、そこで大規模言語モデルの開発を進めています。今回は、そのプロジェクトの中で実施した大規模言語モデルの蒸留(Knowledge Distillation)に関する技術的な取り組みをご紹介します。 本蒸留の成果については、以前の記事(https://tech-blog.abeja.asia/entry/geniac2-qwen25-7b-v…
2ヶ月前

ロボティクス領域の VLA モデル「π0」の仕組みを理解する
ABEJA Tech Blog
こんにちは!ABEJA で ABEJA Platform 開発を行っている坂井(@Yagami360)です。 近年の ChatGPT 等の LLM の飛躍的な発展とマルチモーダル化の流れに伴い、ロボティクス領域においても LLM を活用して、テキストでロボット制御できるようになってきているようです。 LLM に対して画像を入力もできるようにして{画像・テキスト}でのマルチモーダル化したモデルを VLM [Vision-Language Model] といいますが、ロボティクス制御等で LLM を活用できるように更にこれを拡張して、ロボットのアーム制御などの行動ベクトルも入力できるようにして{行…
3ヶ月前

OpenAIのAny-to-Any APIでTTSサービスの音声品質を比較してみた
ABEJA Tech Blog
はじめに 比較対象のTTSサービス 実験の方法 実装 各サービスで音声合成 1. OpenAI(gpt-4o-mini-tts) 2. Google Cloud Text-to-Speech 3. Amazon Polly 5. ElevenLabs 音声合成の自動評価 評価結果 まとめ We Are Hiring! はじめに こんにちは!ABEJA でソフトウェアエンジニアを務めている宇留嶋です。2025 年 3 月に OpenAI が発表した次世代音声モデル群は、従来の Whisper を凌ぐ高精度な音声認識と、話し方まで指示できる音声合成をAPI で提供し、音声対話向けの LLM API…
3ヶ月前