Open5
『AITuber本著者によるAIキャラクター入門―AITuberの基礎からソフトウェア設計、失敗談まで』に参加してみた🌟

AITuber本著者によるAIキャラクター入門―AITuberの基礎からソフトウェア設計、失敗談まで
イベント概要
大規模言語モデル(LLM)の応用のひとつとして、AITuber(AIキャラクター)が注目を集めています。 AITuberとはYouTuberとAIを組み合わせた造語で、人工音声とLLMを用いてキャラクターが一人でに話し、歌い、配信をします。
このイベントでは、11月23日発売の書籍「AITuberを作ってみたらプロンプトエンジニアリングがよくわかった件」の著者、阿部由延(@sald_ra)さんをお招きして、AITuberの基礎から、実際の経験を踏まえたソフトウェア設計の工夫・失敗談といった貴重なお話をしていただきます。
主な対象者
AITuber(AIキャラクター)に興味のあるソフトウェアエンジニアやデータサイエンティストの方
前提とする知識
プログラミングやソフトウェア開発の基礎知識
アジェンダ
講演:AITuberの基礎と書籍の紹介
パネルトーク:AITuberのソフトウェア設計、失敗談など
書籍
GitHub

講演内容📝
AITuberとは?
基本的な技術
AITuber本でのアーキテクチャ
AITuber本でのアーキテクチャ Ver.2
AITuberアーキテクチャの問題点
アーキテクチャ、どうするのが正解なんだろう?
AITuberの壁
個人開発終末状況・・・
大事なこと・まとめ🌟

パネルトーク・コーナー
ソフトウェア設計のポイントは?
- やばやば2000行コードを避ける!
- 適切なClass分けなど!
TestCodeについては?
- テストが書きやすいようなClassや、構造にしておくのが大事
- 単体テストやGitHubにpushしたらCI/CD自動でまわして、品質を担保できるようにする。
設計に関して、視聴者などに聞きたいことは?
- UsecaseとOutputの関係性は、悩んでいる・・・
- Outputは、どこに従属させるべきなのか?
- Usecaseごとに、Outputの形が変わるので、要件ごとに関係性や構造が変わる。
プロンプトの管理やチューニングのポイントは?
- 共通のAITuberキャラクター設定をClassなどで保持する!
- それをベースにプロンプトを動的に作成していく!
- プロンプトの役割分担や、
AITuberで使うLLMの選び方は?
- OpenAI, Gemini,Claude の3つが無難
- 上記、3つでダメなら local LLMでぶん回す!!
- LLMは、API LLM or local LLMのどちらかになる!
- 基本は、API LLM
- API LLMで実現できないような要件の場合は、local LLMがいいと思います。
- local LLMは、チューニングがしやすい!
AITuberを個人開発するとき特有の大変さは、ありますか?
- 自分には、24時間という時間しかないことを意識して、優先順位を決める💪
- すべてをやるのは、無理!
書籍に入れられなかった話を教えてください!
- 『キャラクター駆動開発』は、面白い!!
- キャラクターに振り回される体験ができる!!
- 趣味とか同人活動としてはいいけど、仕事としては、どうだろうか?
- 本の内容で修正点などはnoteに整理しています。

視聴者からの質問コーナー Ver. 事前質問
キャラクター作りについて
- 声や動作など、どれぐらいキャラクターの見た目に近づけるか?
- 声はチューニングすればいける!!
- 動作は、難しい🤔
- textToMotion
- モーションはまだまだ発展途上
- キャラクターデザインから、アバター作成でこだわっているポイントはありますか?
- また、仕上げにこだわる場合、どういうチューニングポイントがあるでしょうか?
- 性癖はあった方がいい!
- 狙い通りの人物像を構築する
エンジニアリングについて
1. キャラクターの知識の出し入れについて
- プロンプトに動的に埋め込む
2. 記憶条件と期間について
- どんなことを、どれくらい記憶させるといい塩梅?
- 知識に重みづけをする。
- 衝撃度の計算をLLMにさせる。
- 衝撃度によって、変化をつける。
AITuberを開発する上での言語について
- ライブラリが豊富なのは、Python/TypeScript
- 無理にPythonをやる必要はないが、PythonであればCode事例や情報が多いことがメリット
- API LLMを使うだけなら、言語は何でもいい気がする。
社会影響について
- 自分のClone AITuberができることによるメリット
- 他人がAITuberを使って、ディープフェイク的なこともあり得る・・・
- AIには「欲求がない/しがらみがない」こその強みがある💪🥺🔥
- 疲れ知らずなAIだからこそできることもある!
- ケースワーカー, カウンセラーを超えるAITuberなど
- 24時間配信できる!!

Q & Aコーナー Ver. 当日質問
Youtube配信以外の応用例としてどんなものがあるか伺いたい
- Tiktok
- サイネージ組み込み
- EC
- 応用例は、まだまだ少ない!!
- だが、いろいろな可能性はある分野です。
リップシンクは、どのように実装しましたか?
- Vマジック・ミラーは、音声でリップシンクをやっています。
- マイクを入力のチャネル
- Unityの場合は、ライブラリがあるのでそれで対応しています。
- リップシンクは、顔認識 or 音声のどちらかで実装する!
配信をするなら、Youtubeとtwitch
- 配信だけでなく動画もやるならYotubeでいいと思う。
- ゲーム配信ならtwitchかな。
コメントを拾って推論/音声合成で発話まで数秒かかると思いますが、推論から発話までの遅延を短くする工夫を何かされていましたか? (リクエスト/レスポンス速度)
- 非同期処理を使う方法もあるが、複雑度が上がる。
- 相槌をいったん返すような相槌機能は、あってもいいかも。
- 推論を早いModelにするとかの方法はある。
音声生成部分について、人間の発話に近づけるとなると抑揚やピッチ制御は、どうしていますか?
- どこからどこまでをCordingで切り替えることにするか?
- どこからどこまでをLLMに任せるか?
- などの設計が大事
マルチモーダルLLMのAITuberへの活用の今後について
- 音声 -> 音声の方だと、Text to 音声 (音声合成)よりも制御が難しくなるかも?
- 日本語だと特に
長時間配信する時にNGワードに
- OpenAIには、NGワード判定のAPIがあるので、それを利用するのもあり!
- 手動でNGワードリストを持って弾く仕組み(判定機)を作ってもいいかも💪