Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2024/12/05 AITuber本著者によるAIキャラクター入門 - AITuberの基礎...
Search
Sald ra
December 05, 2024
Technology
2
730
2024/12/05 AITuber本著者によるAIキャラクター入門 - AITuberの基礎からソフトウェア設計、失敗談まで
2024/12/05 にStudyCoさんにて行われた「AITuber本著者によるAIキャラクター入門」の資料
https://studyco.connpass.com/event/337404/
Sald ra
December 05, 2024
Tweet
Share
More Decks by Sald ra
See All by Sald ra
2023/07/26 - AITuberコミュニティの 開放性と閉鎖性
sr2mg4
1
23
AIキャラについての諸考察
sr2mg4
1
270
2023 AIAD忘年会LT 資料
sr2mg4
0
770
2023/09/23 「AIキャラクターの言動に深みを持たせる」
sr2mg4
2
1k
AIキャラクター開発の側面から見る 新機能実装・検証の高速化の必要性
sr2mg4
1
870
ローカルAITuber勢の現在地と未来
sr2mg4
0
440
Other Decks in Technology
See All in Technology
ソフトウェア開発における「パーフェクトな意思決定」/Perfect Decision-Making in Software Development
yayoi_dd
2
2.7k
信頼されるためにやったこと、 やらなかったこと。/What we did to be trusted, What we did not do.
bitkey
PRO
0
1.9k
エンジニアリングマネージャー視点での、自律的なスケーリングを実現するFASTという選択肢 / RSGT2025
yoshikiiida
4
3.3k
MasterMemory v3 最速確認会
yucchiy
0
340
「隙間家具OSS」に至る道/Fujiwara Tech Conference 2025
fujiwara3
4
140
プロダクトの寿命を延ばすためにエンジニアが考えるべきこと 〜バージョンアップってなんのためにやるのか〜 / Strategies for product longevity
kaonavi
0
100
大規模言語モデルとそのソフトウェア開発に向けた応用 (2024年版)
kazato
2
500
12 Days of OpenAIから読み解く、生成AI 2025年のトレンド
shunsukeono_am
0
1.1k
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
3
3k
comilioとCloudflare、そして未来へと向けて
oliver_diary
4
370
rootful・rootless・privilegedコンテナの違い/rootful_rootless_privileged_container_difference
moz_sec_
0
120
デジタルアイデンティティ人材育成推進ワーキンググループ 翻訳サブワーキンググループ 活動報告 / 20250114-OIDF-J-EduWG-TranslationSWG
oidfj
0
340
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
The Language of Interfaces
destraynor
155
24k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
A better future with KSS
kneath
238
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
490
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
4 Signs Your Business is Dying
shpigford
182
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
How GitHub (no longer) Works
holman
312
140k
Transcript
AIキャラクター入門 AITuberの基礎からソフトウェア設計、失敗談まで
自己紹介
AITuberとは
AITuberとは AITuberとは「ネット活動を行うAIキャラ」です • イメージ的には「AI」x「VTuber」に近い • 2023年初頭のOpenAIのAPI出現以降に活発になったジャンル
みた方が早い
基本的な技術 色々なことはできるとして、最低要件から考えてみる 最低要件は「YouTubeと紐づけてコメントに反応し、発話する」になるはず • コメントつなぎこみ • LLMつなぎこみ • 音声合成・再生 •
OBS連携 ここまでを簡易的に実装できるのがAITuberプロンプト本
どう実装してるか 見てみよう
AITuber本でのアーキテクチャ
AITuber本でのアーキテクチャ • エントリー・ポイントがAITuberSystem ◦ コメント取得から発話までが1ターン ◦ 逐次処理 • 発話内容作成がtalker •
VoiceMakerでt2sのwavに変換 • play_soundで仮想マイク再生 • OBSで発話内容を表示
AITuber本でのアーキテクチャ • usecase ◦ talker • interface ◦ voice_maker •
Frameworks & Drivers ◦ OBSAdapter ◦ play_sound ◦ OpenAIAdapter ◦ YouTubeCommentAdapter
どこが問題だろう?
問題点 • interfaceとFrameworks & Driversがごっちゃ • OpenAIの責務をきちんと分けよう ◦ 音声合成とChatを同じクラスで行わない ◦
OpenAI APIでできることが多いのが悪い • AITuberSystemが神クラスになってる ◦ outputはusecaseに紐づいているべきでは ◦ Commentが必要なのはtalkerであり、Systemではない とはいえガッツリ層を分ける必要があるかは疑問 非同期処理にするかは要考慮
どうするのが正解なんだろう • 結論から言うと「試行錯誤するしかない」 • 先ほどのものを変更してみた ◦ outputをまとめて、各usecaseに対応 ◦ OpenAIのAdapter分離 ◦
実際のつなぎこみはClientに任せる • ありえる未来を追加要件にしてみる ◦ singerというusecaseを追加 ▪ こいつはCommentに非依存 設計をしたい人にとってはAITuberは絶好の教材かも
とはいえどこかで 妥協は必要
AITuberの壁の話
AITuberの壁 • 第一の壁「そもそもどうやって作れば良いかわからない」 ◦ 割と解決に向かっている • 第二の壁「単純なQAだけだとつまらない」 ◦ アイデアをどうにかして出し続けるしかない。いつか話すが省略 •
第三の壁「普通に運用コスト高い」 ◦ 一番やばい壁! 第三の壁について話します
なぜ僕は個人で AITuberを作らなくなったか
運用・メンテコストの増大
個人開発末期状態(2023/06) • 疎結合にはなってる ◦ 各サービスの起動コスト上昇 • Unityにしたことでの開発工数上昇 ◦ URPなんもわからん •
独自路線すぎた合成音声 ◦ SBV2なかったからVITS+RVC • GPU負荷高すぎ • ローカルはプロンプト効かない • context-sizeが8kなかった(解決済) 参考:AITuberさくら構築図。2024にllm-jp-3に換装だけした
大事なこと • 「気軽に配信を始められる」は絶対に担保しておくこと • デファクトスタンダードに乗っておけ!絶対後悔する(オーパーツは作れる) ◦ 気軽にやるならVOICEVOX。今だったらAivisSpeechもにじボイスもある ◦ 「プロンプトさえ変えれば同じモデルで色々なことができる」は偉大 ▪
なるべくPromptingで解決しておけ、ローカルは浪漫だか茨の道 ▪ PromptingでできることはAITuberプロンプト本に書いたはず • 自分の力量をきちんと把握しておくこと ◦ LLMでなんでもできるようになった、ただし時間は有限である ◦ その拘りは他の工数を削ってでもやりたいことかは常に考える ▪ (UnityのURPまで僕はやるべきだっただろうか...)
以上!