ブックマーク / zenn.dev/turing_motors (38)

  • Rye × uvでPython環境と機械学習環境を整える

    チューリングのE2E自動運転チームの岩政(@colum2131)です。 最近、チーム内でPythonを使った開発はRyeとuvを使うことが多くなり、特に機械学習環境もRyeとuvで問題なく開発できるようになりました。社内でのオンボーディング資料としてRyeとuvの操作を整備しようと思い、このテックブログで紹介します。 1. Rye × uvとは? RyeはPythonの包括的なプロジェクトおよびパッケージ管理のツールです。これまでもPoetryなど管理ツールはありましたが、pyenvなどPythonのバージョン管理ツールが必要でした。Ryeは、Pythonのバージョン管理からパッケージ管理を行えて、Poetry同様にpyproject.tomlの設定ファイルを使用したプロジェクト管理も可能です。 uvは非常に高速なパッケージインストーラおよびリゾルバーで、一般的なpipおよびpip-too

    Rye × uvでPython環境と機械学習環境を整える
    toshikish
    toshikish 2024/07/13
  • 言語モデルを高位合成でFPGAに実装してみた

    言語モデルを高位合成でFPGAに実装してみた Turing株式会社のリサーチチームでインターンしているM1の内山です。 Turing株式会社では大規模基盤モデルによる完全自動運転を目指しており、その実現に欠かせない技術として大規模言語モデルの研究開発を行っています。 Generative AI LLMの広範な知識と思考能力に加え、視覚情報やセンサーデータなどの多様な入力を受け入れることで、車の周囲の状況を正確に認識します。さらに、世界モデルを適用することで、高度な空間認知と身体性を獲得し、実世界に対応した生成AIを実現します。 https://tur.ing/ より引用 しかしながら、従来の大規模モデルはデータセンターという大量のGPU・潤沢な電源・安定した地盤を備えた豊かな環境で処理されるものであり、対して自動車というものは余りにも狭く、電源が乏しく、振動が大きいという劣悪極まりない環境

    言語モデルを高位合成でFPGAに実装してみた
    toshikish
    toshikish 2024/04/25
  • 日本語Vision Languageモデル heron-blip-v1の公開

    はじめに Turingでは完全自動運転実現に向けて、LLMやそれを用いたVision Langauge(V&L)モデルの開発に取り組んでいます。最近は経済産業省/NEDOの「競争力のある生成AI基盤モデルの開発を支援する「GENIACプロジェクト」」にも採択されるなど、大規模な生成AIの開発に精力的に取り組んでいます。 特に、Vision Languageモデルについては、Heronというライブラリとモデル群を公開しており、今回は新しいモデルとその学習レシピを公開します。また、日語のV&LモデルをGPT-4を用いて評価するためのプログラムも公開します。 Heronとは V&Lモデルは、画像を認識する「ビジョンエンコーダ」、文章を生成する「LLM」、それら2つをつなぐ「アダプタ」から構成されます。heronのコードを用いることで、これらの様々な組み合わせのオリジナルV&Lモデルを作成するこ

    日本語Vision Languageモデル heron-blip-v1の公開
    toshikish
    toshikish 2024/03/07
  • 自動運転のための大規模なVisual QAデータセット・AutoScenesQAの作成

    記事では、Turing のサマーインターンでの成果を紹介します。2 週間のサマーインターンで、自動運転のための Visual Question Answering データセット・AutoScenesQA の作成を行いました。 AutoScenesQA は、手作業によるアノテーションではなく、LLM(GPT 3.5)とルールベースのロジックを活用し、完全に自動で作成されています. 今回作成した AutoScenesQA は、nuScenesという自動運転用のデータセットをベースとしており、「車載カメラから撮影した 6 方向の画像(1 フレーム)」と「その画像に対応した QA のペア」で構成されています。自動生成した QA の総数は全部で約 280 万件です。 記事では、AutoScenesQA とその作成方法に関して詳しく紹介します。 自動運転と Visual Question Answ

    自動運転のための大規模なVisual QAデータセット・AutoScenesQAの作成
    toshikish
    toshikish 2023/10/23
  • 車両サイバーセキュリティの実現に向けて

    はじめに Turing Vehicleチームのチーフエンジニアの徳弘 (@res_circuit) です。 Turingは、完全自動運転システムを搭載した車を商品として販売することを目指しており、これに向けて量産を見据えた完全独自の車両の設計に取り組んでいます。お客様の元に届く商品としての車両を自社で開発する上では、膨大な数の課題を解決する必要が出てきます。 今回は、そのうちの一つであるサイバーセキュリティについての概要を説明した上で、Turingでの取り組みを少し紹介します。 車両サイバーセキュリティとは? 車両のサイバーセキュリティとは、車両に対するサイバー攻撃の防衛策が実施されており、車両を構成する部品や資産が保護されていることを意味します。現代の車両システムは多数のECU(電子制御ユニット)で構成され、車両内でネットワークを構築しています。車両の走行に関する制御指令や、ユーザーの個

    車両サイバーセキュリティの実現に向けて
    toshikish
    toshikish 2023/10/20
  • UnityとC#で簡単にgRPCする in 2023

    Turing株式会社のUXチームでインターンをしている東大4年の三輪です。 自動運転のUXを向上させるため、UXチームでは自動運転の「可視化」ソフトウェアの開発に取り組んでいます。 このソフトウェアはTuringが販売する車のディスプレイに搭載される予定です。AIが認識している世界をユーザにも見える形で示すことで、ユーザは自動運転AIの振る舞いをよりよく把握することができるようになります。 画面は開発中のものです 可視化ソフトウェアは、自動運転AIの出力を受け取り、解釈し、Unity上で描画します。この際、自動運転AIと可視化ソフトウェアの間の通信はgRPCで行うことになっています。しかし、Unity上でのgRPCはさまざまな事情でやや複雑な構成を取る必要があります。 この記事では、UnitygRPCサーバを実装するステップを解説します。 gRPC gRPCはRPC(Remote Pro

    UnityとC#で簡単にgRPCする in 2023
    toshikish
    toshikish 2023/10/19
  • 完全自動運転にLLMは必要か?

    この記事を3行でまとめると.. Turingでは1年以上前から完全自動運転に自然言語処理が必要と考えてきた 自動運転におけるロングテールなデータに対して、LLMの一般常識に基づく判断能力が必要 Chat-GPTをきっかけにLLMを自動運転に利用する研究が盛り上がってきている TuringのBrain Researchチームの棚橋です。Brain Researchチームでは、中長期的に自動運転においてキーとなるコア技術の開発を行っています。最近ではVision LanguageモデルのフレームワークとしてHeronをリリースしました。なぜ自動車を製造する会社が、LLMの開発を行っているのでしょうか。 Turingでは1年以上前から自動運転における複雑な文脈理解には自然言語が必要であると主張してきました。今年の7月にはLLMで実際の車を動かしてみるプロジェクトをデモとして公開しました。このデモ

    完全自動運転にLLMは必要か?
    toshikish
    toshikish 2023/10/17
  • 自動運転AI開発:学習からシミュレーション、実車テストまで

    Turingの自動運転・AIモデル開発チームの塩塚です。Turingは2030年までに完全自動運転の達成を目指しています。その未来のためにTuringでは2つの機械学習チームで研究開発を進めています。一つはBrain Researchチームで、マルチモーダル学習ライブラリ「Heron」を公開したりと2030年の完全自動運転に向けて研究を行っています。もう一つは自動運転・AIモデル開発チームで、こちらは2024、2025年にTuringから発売される電気自動車の自動運転システムを開発しています。このチームの目標は国内の市販車に搭載されている自動運転の中で最もよいものを作ることです。 開発したモデルをテストしている様子 この記事では、そんな自動運転・AIモデル開発チームがどのようにして自動運転を作っているのか、主に評価プロセスについてお話したいと思います。 自動運転・AIモデル開発チームについ

    自動運転AI開発:学習からシミュレーション、実車テストまで
    toshikish
    toshikish 2023/10/12
  • 自動運転カメラの高負荷、その原因はLinuxカーネルのどこに?

    はじめに Turing株式会社ソフトウェアエンジニアの堀ノ内です! 私が所属する自動運転チームでは2024 ~ 2025年に発売予定の自動車に搭載する自動運転システムの開発を行っています。Turingでは車両前方に取り付けられたカメラの画像を入力とし、機械学習モデルが進むべき経路を推論、その経路に沿って実際に車両を動かすための制御信号(ステアリング、アクセル、ブレーキ)をCANで車両に送信することで以下の画像のような自動運転を実現しています。 今回のブログでは以下について記載し、私達のチームの仕事内容について知って頂くきっかけになればと思います。 Turingの自動運転システムの紹介 GMSLカメラの評価と発生した問題 Linuxカーネル及びドライバのデバッグ Turingの自動運転システム Turingでは「カメラ画像入力 → 機械学習モデルで経路を推論 → 車両制御」の流れを実現するた

    自動運転カメラの高負荷、その原因はLinuxカーネルのどこに?
    toshikish
    toshikish 2023/10/10
  • Androidと自動車を接続してみよう!

    はじめに Turing株式会社 UXチームでインターンをしている東京大学3年の勝見とエンジニアの佐々木(@kento_sasaki1) です。 UXチームでは、Androidを採用して独自のIVI (車載インフォテイメント) の開発を行なっています。記事では、AOSP (Android Open Source Project) の枠組みで車両と接続するのに肝となるVHAL (Vehicle Hardware Abstraction Layer) とCar APIについて概説し、Androidと自動車を接続する方法について紹介します。なお、記事はAOSPのソースコード (Android12.1.0 rivision11) を適宜参照しながらご覧ください。 概要図:Android Automotive OSは車載ECUとCANプロトコルで情報を送受信する Android Automotiv

    Androidと自動車を接続してみよう!
    toshikish
    toshikish 2023/09/28
  • 作って遊ぼう!LLMを搭載した君だけのV&Lモデル!

    はじめに TuringのBrain Research teamで頑張ってる井ノ上です。(Twitter: いのいち) Turingは完全自動運転の開発を目指しており、その実現のためには賢い頭が必要だと考えています。その方法の一つとして、近年の大規模言語モデル(LLM)に見られるような文脈理解力をうまく取り入れられないかと考えており、LLMとVisionの情報をかけ合わせたモデルに注目して研究を行っています。自動運転とVision and languageモデルについては、ぜひこちらの記事を読んでみてください。 今回の記事は2023年7月に開催されたABCI LLMハッカソンで取り組んだときに開発していたGIT-LLMというモデルの開発について解説する記事となっています。途中のコードの解説部分などは少し退屈に感じるかもしれませんので、その場合はぜひ結果のパートだけでも見てみてください。いろい

    作って遊ぼう!LLMを搭載した君だけのV&Lモデル!
    toshikish
    toshikish 2023/08/09
  • オリジナルの自動車用Android OSを作る - AOSP開発はじめの一歩

    はじめに Turing株式会社UXチームエンジニアの井上(@yoinoue5212)です。 Turingは完全自動運転EVの開発を目標に、自動運転AIとEV体の両面での開発に挑戦しています。UXチームでは、自社EVのIVI(In-Vehicle Infotainment)つまりセンターディスプレイ等に表示されるシステムのOSとして、Androidを基盤とする独自車載OSの開発を行っています。 記事では、ソースコードの公開されているAndroid Open Source Project(AOSP)を題材に、Android OSを開発するとはどういうことか、開発のための環境構築についてお話しします。 AOSPとは 何の略? AOSPはAndroid Open Source Projectの略で、Android OSを構成するすべての要素がオープンソースで公開されています。 Googleの開

    オリジナルの自動車用Android OSを作る - AOSP開発はじめの一歩
    toshikish
    toshikish 2023/08/03
  • TFRecordとWebDatasetを使った分散並列学習とパフォーマンス調査

    はじめに Turing株式会社の自動運転MLチームでエンジニアをしている越智 (@chizu_potato)と塩塚 (@shiboutyoshoku) です。 Turingが目指す自動運転は、大量のデータで学習された非常に賢い機械学習モデルを活用することです。そのために、走行パートナーの方たちと協力して創業時からこれまで大量の走行データを取得してきました。走行データは車両に取り付けられた複数カメラによる360度をカバーした動画と、そのときの速度やGPSなどの走行ログを含んでいます。データサイズは80TBを超え、時間換算で3500時間程度です。 これだけのデータサイズでモデルを学習するためには、1枚のGPUだけで頑張るには限界があり複数のGPU (multi-GPU) による分散並列学習が必要となってきます。しかし、ただ分散並列学習を行うだけではmulti-GPUに対し、データの入出力 (I

    TFRecordとWebDatasetを使った分散並列学習とパフォーマンス調査
    toshikish
    toshikish 2023/07/28
  • 走行動画を説明するLLMを作成し、80台のGPUで分散並列学習させた話

    3行でまとめると LLM分散学習ハッカソンに参加し、Vision-Languageモデルの一つであるBLIP2のHuggingFaceモデルを拡張して動画からテキスト生成するVideoBLIPを作成しました。ソースコードはGithubで公開しています。 運転映像に対する説明文章を学習に用いてVideoBLIPの学習を行い、運転映像を説明するモデルを作成しました。(以下のように運転映像に対して説明文が出力されます) 学習を高速化するためにマルチノードで学習を行えるようにし、実際にABCIのGPU80台を使って分散学習を行い、4GPUで行った場合の20倍の計算速度が実現できました(Strong Scaling!) 分散並列学習にはDeepSpeedを用いました。 はじめに Brain Researchチームで自動運転AIを開発している棚橋です。Brain Researchチームではレベル5の完

    走行動画を説明するLLMを作成し、80台のGPUで分散並列学習させた話
    toshikish
    toshikish 2023/07/26
  • 大規模言語モデル(LLM)の作り方 Megatron-DeepSpeed編 Part2

    はじめに Turing 株式会社リサーチチームの藤井(@okoge_kaz)です。 Turingでは、自動運転を支える技術のひとつとして大規模言語モデル(Large Language Model: LLM)に注目しており、関連する技術の研究開発を行っています。 つい先日、大規模言語モデルの事前学習を行う際に用いられることが多いmicrosoft/Megatron-DeepSpeedが大きくupdateされました。(日時間 2023/6/13, 2023/7/21に大きな変更がありました。) 具体的には、fork元であるNVIDIA/Megatron-LMの最新の変更を取り込むことを行ったようです。 セットアップ方法は以下の記事で紹介している通りで、変化はないのですが、Job Scriptの引数や、新機能を使用するためのTipsなど補足するべきことが多数存在します。 そのため、今回は前回の

    大規模言語モデル(LLM)の作り方 Megatron-DeepSpeed編 Part2
    toshikish
    toshikish 2023/07/24
  • Bardのようなimage2textAIを構築して動画検索システムを作る

    Turing株式会社の自動運転MLチームでインターンをしている東大B4の中村です。 突然ですが、web検索のように簡単に、ストレージ内に保存されている、日時以外のメタ情報のない動画が検索出来るようになったら幸せになれると思いませんか? 例えば「赤信号で車が停止している」という検索クエリに対して、実際に赤信号で停止している動画が返ってきたら、簡単にそれを信号検知+停止のモデル学習に使えるようになります。 今回私が開発した動画検索システムはこれをAIの力を借りて実現しました。これにより、格段に動画検索の利便性が増し、より多様な動画を簡単に使用できるようになりました。今回はそのシステムについて紹介します。 ワンパンで動画を探せると嬉しい 課題 Turingでは、走行パートナーの方々と共に大量の走行データを収集してきました。車両にカメラ・データ収集キットを載せて、文字通り毎日朝から晩までデータを取

    Bardのようなimage2textAIを構築して動画検索システムを作る
    toshikish
    toshikish 2023/07/21
  • 大規模言語モデル(LLM)の作り方 GPT-NeoX編 Part 1

    はじめに Turing 株式会社のリサーチチームでインターンをしている東京工業大学 B4 の藤井(@okoge_kaz)です。 大規模モデルへの注目の高さを肌で感じる今日このごろですが、事前学習の知見については依然として十分に共有されているとは言い難いと個人的に感じています。 Turing株式会社では、次世代の自動運転技術を支える技術の1つとして大規模言語モデルに注目しており、独自に研究開発を行っています。今回は大規模言語モデルを学習する際、用いるライブラリ候補の1つに上がるであろうGPT-NeoXについて解説します。 以下で環境構築方法、学習を行う方法などについて詳しく解説します。 GPT-NeoXとは EleutherAIが管理しているNIDIA/Megatron-LM ベースの大規模言語モデル(Large Language Model: LLM)を学習するためのライブラリです。 Mi

    大規模言語モデル(LLM)の作り方 GPT-NeoX編 Part 1
    toshikish
    toshikish 2023/07/19
  • 大規模言語モデルを使って自動車走行時の状況説明をさせてみる? -社内LLMハッカソン記-

    Turing株式会社の自動運転MLチームでエンジニアをしている岩政です。 Turingの自動運転MLチームでは、完全自動運転の開発に向けて、走行データから自動走行が可能な深層学習モデルの作成およびデータ基盤の整備、視覚情報以外にも言語を活用したマルチモーダルな基盤モデルの作成に取り組んでいます。 記事では、視覚情報を認識するモデルと大規模言語モデルを組み合わせて、「自動車走行時の特に危険な状況を説明することができないか?」という観点から、社内ハッカソンで取り組んだことを紹介します。 社内LLMハッカソン 事の発端は、4月のある1日に急遽開催された大規模言語モデル(以下LLM)を活用した社内ハッカソンでした。高度な自動運転の実現において、一般的な社会常識のもと複雑な状況を理解して適切に行動するための「知能」は必要不可欠です。現在、Turingでは、LLMはその知能として高いポテンシャルがあ

    大規模言語モデルを使って自動車走行時の状況説明をさせてみる? -社内LLMハッカソン記-
    toshikish
    toshikish 2023/06/30
  • 大規模言語モデル(LLM)の作り方 Megatron-DeepSpeed編 Part1

    はじめに Turing 株式会社のリサーチチームでインターンをしている東京工業大学 B4 横田研究室の藤井(@okoge_kaz)です。 大規模言語モデル(Large Language Model: LLM)への注目がGPT-4のリリース以降高まっていますが、LLMを作るための知見は十分に共有されているとは言い難いと個人的に感じています。 Turingでは、Vision and Language, Video and Languageなどのマルチモーダルなモデルの研究開発を行っている一環として、Megatron-DeepSpeed, GPT-NeoXなどを用いて数十Bのモデルの学習を行う知見を蓄積しています。今回はLLMの事前学習を行う際に候補となるMegatron-DeepSpeedを用いてGPT-2-7B(6.6B)の学習をどのように行うのかについて解説します。 分散並列学習がどのよう

    大規模言語モデル(LLM)の作り方 Megatron-DeepSpeed編 Part1
    toshikish
    toshikish 2023/06/29
  • Android OS向けGPSドライバ開発:要求仕様の解説と実装ガイド

    こんにちは。Turing株式会社でインターンをしている、東京大学学部4年の三輪です。 TuringUXチームでは、Android OSを採用して独自の車載UI開発を進めています。Android OSはセンターディスプレイにあたる部分で主に利用される予定で、エアコン、ドア、ライトなどの操作をディスプレイ上で行えるようにするほか、ナビアプリや音声アシスタントなどの実装をAndroidプラットフォーム上で進めていく予定です。 自動車に搭載するOSを開発していくうえで、さまざまなハードウェアをOS上で扱えることは必須の要件になります。しかし、Android OSでのハードウェアの取り扱いはベースであるLinuxとは異なる独自の部分が多く、慣れが必要です。 この記事では、GPSデバイスのドライバを実装し、AndroidのネイティブフレームワークからHALを介してGPSデバイスを透過的に扱えるように

    Android OS向けGPSドライバ開発:要求仕様の解説と実装ガイド
    toshikish
    toshikish 2023/06/26