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
840
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
54
AIキャラについての諸考察
sr2mg4
1
330
2023 AIAD忘年会LT 資料
sr2mg4
0
940
2023/09/23 「AIキャラクターの言動に深みを持たせる」
sr2mg4
2
1k
AIキャラクター開発の側面から見る 新機能実装・検証の高速化の必要性
sr2mg4
1
900
ローカルAITuber勢の現在地と未来
sr2mg4
0
480
Other Decks in Technology
See All in Technology
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
270
5min GuardDuty Extended Threat Detection EKS
takakuni
0
180
WordPressから ヘッドレスCMSへ! Storyblokへの移行プロセス
nyata
0
370
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
170
改めてAWS WAFを振り返る~業務で使うためのポイント~
masakiokuda
1
200
Connect 100+を支える技術
kanyamaguc
0
170
Backlog ユーザー棚卸しRTA、多分これが一番早いと思います
__allllllllez__
1
120
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
530
Flutter向けPDFビューア、pdfrxのpdfium WASM対応について
espresso3389
0
110
Fabric + Databricks 2025.6 の最新情報ピックアップ
ryomaru0825
1
160
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
1
9.3k
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
1.5k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
24
1.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
730
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Six Lessons from altMBA
skipperchong
28
3.9k
Unsuck your backbone
ammeep
671
58k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
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まで僕はやるべきだっただろうか...)
以上!