'では今回のお題は最近話題の stable diffusion に並んでというか続きてというかで話題のウィスパーさんのお話の技術解析を同じく 広川先生からお願いしたいと思いますはいよろしくお願いしますそうですねちょうど stable diffusion とか流行ったその週とか次の週とかにまた open AI から今度は音声ですね音声処理ですごい精度で反過性もかなり高いっていうウィスパーっていうモデルが open AI から公開されたのでこちらも論文読んで少しどんなアルゴリズムでどんな特徴があるのか今回ぜひお話できればと思いますよろしくお願いしますお願いしますでは早速概要なんですけれどもこちら open AI が発表したウィスパーっていうモデルというかアルゴリズムというかそういった成果ですね特徴としてこちら68万時間分の音声データ多言語英語以外にも日本語とかドイツ語とかいろんな68万時間分の大部分は英語なんですけど多様な音声データを学習することで人に匹敵する精度精度プラスロバスト性いろんな環境ノイズが乗ってたりそういったいろんな環境のでもロバストな音声認識が可能になりましたっていうモデルですとプラスですねこのホーフって多様なデータセットの音景にフォーカスするためにモデルアーキテクチャですねこちらはシンプルなトランソーマーエンコーダーデコーダーアーキテクチャっていうのを使っておりますでプラスメインだと割と英語で音声聞いてその英語の書き起こしっていうのがメインなんですけど学習時にはですねこの英語音声から英語テキスト書き起こしの他に入力音声の言語の特定だったり他の英語以外にも日本語音声聞いて日本語にテキスト書き起こしとかも含めていろんなマルチタスクってかつマルチな言語の学習を行っておりますと 結果としてですね英語を含む99種類の言語に対して高い性だと安定性で音声の書き起こしや日本語の音プラスですね日本語の音声とかを加えて英語の役をのテキストを出力するみたいのも可能になっているそうですいやーこれはマジで顧客が求めていたものの最終形態がついに来てくれましたね いやそうですねなんか僕も youtube とかって結構自動字幕みたいのあると思うんですけど割となんか適当というか それまあこれが今の限界かなみたいに思う時あるんですけど結構この wisp は web でブラウザで使えるデモとかも公開されててなんか僕も試しに ポッドキャスト収録してますみたいなことを話した時にほとんど完璧に文字起こししてくれてなるほどっていう感じでしたね いやーマジすごいなちょっと自分はポッドキャスト能なんでいやーこれじゃあポッドキャストも全部文字起こしできて検索が可能になって類似とかも取れるようになって ポッドキャスト革命来たじゃんって思ってたけどでも確かにそれより youtube の字幕つけるっていうその史上の方がでっかいですよね確かに 僕はぜひやってほしいですねかなり youtube 見ているので確かに確かにじゃあ中身に行きますかどうやって彼らは 文字起こしをしているのかそうですねはいなんですけどその前ですねまあ音声認識 上でまあこれまでどういった研究があったかっていうところで論文で少し触れられていたんでこちらも少し話せればと思います イントロダクションですねはいこの音声認識論文だとオートマティックスピーチレコグニション 英語だとそういうふうに言われるんですけどこういうするこれを行うアプローチてももちろんウィスパー以前も取り組まれていましたと 例えば最近のですね google の出した成果ビッグ ssl っていうような成果だとこちらですねをウィスパーが68万時間分なのに対してこの google の最近の研究だと100万時間分のラベルなし音声データを使って教師なし学習してその上で目標の初毛のデータにファインチューニングするというようなアプローチも提案されていましたとこちらの google の方がデータ量多いんですねそうですね僕もウィスパーで68万時間で大すげーって言わせたんですけど一応なんかそうですねこの教師なしの方で100万時間使って学習したっていうのもあるっていうふうに書いてありますねまただファインチューニングによるアプローチで目標データの評価データに対してはスーパーヒューマー人間語彙レベルの精度が出ましたよっていうの報告があるんですけど一方でじゃあそれ以外のデータセットに適用するとちょっとあんまりスーパーヒューマンって言ってた割には他のデータに適用するとうまくいかないってようなことも報告されているっていうのは言われておりますとなるほどなんでまあこのウィスパーの時点で目標としてはできるだけその応用先のデータセットに依存せないでファインチューニング不要で反過するモデルを獲得したいよねっていうふうに言われていますとでこちらですね今の100万時間っていうのは教師なしの音声だけ音オーディオだけで学習して目標データにファインチューニングするってアプローチだったんですけど一方ですね教師付きの音声データセットっていうのはさすがに量が限られていますと論文で話されていたのは綺麗な教師付きデータセットだと5000時間くらいでもうちょっとゆるいノイジーな弱教師付きデータセットでも1万時間とか3万時間くらいのものしかないんですよねっていうふうに言われていましたとウィスパーではこういった教師付きデータセットと膨大なさらに膨大なデータセットのギャップを埋めるっていう目的で弱教師付き音声データの量をもっとスケールアップして結果的に68万時間の多言語のデータセットを作って教師あり学習を行いましたとこれによって最終的には特定のデータセットへのファインチューニングっていうのを行わずに今推論可能となっていて結果的に優れた反過性能っていうのを獲得しましたよっていうふうなのがざっくり語られていましたそうだったんだちなみに音声でいう教師付きっていうのは本当にその音声データと実際に何に喋られたかっていうテキストがついてるっていうことなんですよねそうだとはい思いますねあとはなんかさらに細かいとこの音声の何秒から何秒の間にこのテキストでみたいなも気持ち入っているともっと詳細で学習しやすかったりするのかなと思いますねそうかでなんかてっきり680万時間っていうから教師なしなんだろうなって勝手に思ってたんですけど教師あり教師ありというか弱教師付き音声データって何なんですかね一応あれですね68万時間ですね弱教師付きっていうのは今後説明するんですけど基本的には音声に対してテキストが紐づいているっていう状態ですねそう思っとけばいいんだそうですね基本的にそのペアでWispaも学習していくっていう状態ですねすごいなデータセット集めてきたんだ作ったのか集めたのかわかんないけどそうですね早速その辺のWispaの中身についてちょっと説明していければと思いますWispaの中身ってことでデータセットとモデルのアーキテクチャと学習方法っていう3つを大まかに説明していければと思いますまずデータセットですね今回他の画像とかでもよくあると思うんですけど膨大なデータセットっていうのを確保するためにインターネットから書き起こしテキストの書き起こしが不要された音声っていうのを収集していますとこの音声っていうのはいろんな環境だったり録音設定だったり和射たぶん大人だったり若い人だったり男性女性っていうことかなって思いますねあとは英語以外にもいろんな言語をカバーするように収集していますとで単純になんも考えずに収集するってだけではなくてプラスですね一部の書き起こしインターネットから収集できる書き起こしっていうのは既存のテキスト書き起こしサービスが付与したものと想定されますとなのでそれに対して人手のそういった書き起こしと機械が自動的に付けた書き起こしラベル教師ですね混在すると学習にちょっと悪影響があるっていうふうに言われているのでいくつかのヒューリスティクスビックリマークとかハテナマークだったりカンマのウムだったり全て重し全て小文字みたいなそういう癖ですかねによってこれは機械によるテキスト付けっぽいっていうものをフィルタリングしてある程度高品質なデータセットっていうのを集めているとのことでしたおーなるほど機械が作ったやつはもう除いちゃってるんだそうですねでこのデータセットですねメイン大部分は英語音声英語テキストなんですけどそれに加えて他言語音声とその言語のテキストのペアも収集していますとそれに加えて他の言語例えば日本語でそれに対して英語のテキストが付与されているっていうペアに他の言語プラス英語のテキストっていうペアに関しては英訳英語の書き起こし学習用のデータとしてまた確保していてこれによって他言語かつマルチタスクの学習用のデータセットを掃除して作成したっていうふうになっているとのことです学習用にはもともと音声結構時間いろいろバラつきあると思うんで学習用には最終的に30秒ごとの音声のクリップに分割して学習に使ったとのことですこれって実際日本語も結構精度いいっていう話が出てくると思うんですけど日本語の教師ありのデータセットってどっから持ってきたですかね具体的にはアペンディクスとか見ればあるかもしれないですけどちょっとパッと見は具体的に日本語はここからとかはなかったですねなんかこれ論文に書いてあったわけじゃないんですけど結構コンロンピスパーの論文読んでいるときに歌のサイトとかって歌ってる内容と歌詞が紐付けられたりするんでああいうのもしかしたら使えるのかなとはちょっと思ったりしましたねなるほどそれは面白いですねデータセットはこういった内容ですねそれに踏まえてモデルのアーキテクチャと学習方法に移りますとこのWisperではですね先ほど用意した豊富なデータセットとマルチ言語マルチタスクの学習っていうのにフォーカスするためにこのモデルのアーキテクチャに関しては音声からテキストの書き起こしっていうSequence to Sequenceの推論が実行できてデータ量に対してスケールするアーキテクチャとしてシンプルなエンコーダーデコーダーベースのトランスフォーマーを採用しているっていうふうになっておりますここが割とそこまで複雑ではないですねエンコーダーの方ではですね元々音声波形ですのでこれをログメルスペクトログラム時間かける周波数の表現ですね変換した上で一次元のConvolution1DとGelという活性化関数を通した上でこのトランスフォーマーで一般に使われるポジショナルエンコーディングを通してトランスフォーマーエンコーダーに入力しますこの辺Sequence to Sequenceっていうところで大まかにはテキストの翻訳のようなゲースとざっくりは似ているかなと思いますねその上でDecoderですねこちらはテキストの書き起こしを順次予測するんですけれども順次予測しますと音声入力してそれに対応するThis is Rみたいなテキストを予測していきますとシンプルにはその上なんですけどプラス実際にはですねこの話されているオーディオの言語が何なのか英語だったのか日本語だったのかだったり発話領域のタイムスタンプの予測などもテキストとまとめてトークン系列として扱って全部まるっとまとめて予測対象とするということを行っているようですなるほどこれなんか実際にTwitterとかで試した人たちが上げてたんですけどこれは日本語だよって教えずにやってたのに普通に日本語として出力ちゃんとしてくれてるみたいなやつはそもそもモデルが学習してる中にこの今学習で見せられているものが日本語であるっていうことも含めて学習してるってことなんですねそうですねはいその通りですねすごいなこれとというかあれか学習の時にそのインプットは音のデータですけど実際にモデルが学習してるのはメルスペクトログラムだからあのよく音声系の人たちが画像を出してるあの波打ったもにょもにょもにょみたいな画像を見せてこの画像のこういう絵だったらこの発音してるよっていうテキストを予想するっていう画像からテキストを予測するってことをやってるんですねざっくり言えばはいそうなりますねはいそしてなんでこの辺の全部まとめてその言語の特定とかタイムスタンプとかも全部トークンとして系列としてトークン系列として成型してトランスフォーマーのセクンスとセクンスで学習しちゃおうっていうのがうまいところでありトランスフォーマーの結構柔軟で優秀なところなのかなっていうのは読んでて思ったところですねそうですよね全部ひっくるめてもう学習してってやってるってことですもんねなんでモデルのアーキテクチャと学習方法もざっくりほとんどこれで以上って形ですねでも元々のデータを68万時間あって多様なので学習時のデータ拡張とかも論文ではしていないっていうふうに書いてありましたとあとはもうほとんど実験結果とディスカッションですね基本的にはかなり精度がいいっていうのが大まかな内容なんですけどやり方としてはですね学習で68万時間学習していますと元々の目標としてファインチューニングなどによらない繁華性能を見るっていうのは目標だったので既存の各評価用データセットの評価セットを直接推論してそれで評価を行うっていう扱いをしてます評価指標はですね一般的な音声認識の指標であるWord Error Rate予測した単語系列が正解とちゃんとマッチしているかっていうような指標を使っています全部の実験結果はちょっと割愛するんですけど分かりやすいところだとまず英語の音声認識ですね英語の音声認識だとLibri Speechっていうデータセットが一般的なようですとこのLibri Speechだけを見るとですね必ずしもWisperっていうのは既存のこのLibri Speechで教師ありで学習したモデルの精度には及んでいませんとなんですけども一方でそれを踏まえて他のデータセットも含めた平均的な繁華性能を見てみましょうとデータセットいくつかあるわけですけどWisperで全部評価してみるっていうのと既存の教師ありモデルでLibri Speechで学習したモデルを他のいろんなデータセットでも評価してみましょうとそれによって各データセットまたがった平均的な繁華性能を見てみましょうっていう扱いだと非常に優れた認識性能でなっていて人の認識制度この論文の中で書かれていたのは著者の一人のアレックラード・フォードさんっていうかなり有名な方の認識制度に筆記しているっていうふうに書かれていますとこれは著者の人が同じデータセットを聞いてちゃんと聞きなんですか認識できたかっていう制度も取ってるってことなんですよね多分そうですねはい面白いなるほどそうですねやっぱり既存のモデル適用者ありとかファインチューニングベースのアプローチだとそのチューニングしたデータセットだとスイーパーヒューマンっていうようなレベルって言われていても他のデータセットも含めた繁華性の定点だと今一にやっぱりなるよねっていうふうに言われていますじゃあその英語の次に多言語の音声認識ですねそれでもやっぱり優れた認識性能が確認されましたとで面白いのがですねこの学習データ68万時間あってその中に各言語のデータ量ばらつきがあってやっぱり英語が一番多くてマイナーな言語だと結構少ないものがあるんですけどその相関学習データの量と各言語の学習データの量と言語ごとのエラーの相関っていうのを見てみるとすごいかなりきれいに相関が取れますと両体数グラフですごいかなりまっすぐな相関があってやっぱりデータを増やすほどちゃんとエラーレート制度もスケールしていくよねっていうのが分かったっていうふうに報告されていますもうデータ量が正義みたいな世界なんですねそうですねこんななんか綺麗に相関出るんだっていうふうに思いましたね確かにただしいといえばインドとかヨーロピア系から離れた言語だとちょっとデータを増やしても若干制度が上がりづらくてこの辺は改良の予知ありだよねみたいなふうに言われていますねこれって実際にその68万時間のうちの英語は何時間分でとかって内訳も出てるんですか?多分あったと思いますね半分以上は確か英語でそんなに?プロットを見ると日本語が1万時間くらいで少ないのだと10時間くらいしか10時間1時間しかないようなのもあるっていうふうになっていますね日本語は1万時間なんだなんかすごい制度いいって言うけど68万時間のうちの1時万時間分しかデータはなかったんですねそうですねそんなもんなんだそんなもんって言っても全然多いんだろうけど1万時間分の日本語の音声のしかも教師ありってなると他にもいろいろ実験してるんですけどさらっと説明していくと他に入力音声にノイズが乗ってしまっても既存モデルよりロバストですっていうような結果もありますあと既存の研究成果以外に商用の音声かき起こしサービスとかと比べても遜色ない性能ですよねっていうのも報告されていますとそれとは別に人間のプロのかき起こしとも比べてみたときにそれにもかなり匹敵してますねっていうような結果も報告されていましたここまで実験結果ですねノイズにも強いっていうのは確かにデベロッパーズIOでブログが書かれていてそれなんかわざわざオンライン会議の音声のものに扇風機の音を合成してそれでベースモデルとミディアムとラージのモデルでノイズにどれぐらい健老なのかみたいな実験とかされてましたね確か結果はベースだと扇風機の音入れたらちょっと下がっちゃうけどミディアムとかラージはもうほとんど影響なかったっていうぐらいさっとノイズ除去してるみたいな感じで面白い結果でしたねエンジニアだとそういう公開されてるものに意地悪したくなるのはちょっとわかるなって思いますねなので結構いろんな実験結果でかなり精度高くかつかなりロバストっていうのが報告されていました一方でリミテーションとかフューチャーワークっていうのもいくつか語られていますと今回先ほどデータセットの準備っていうところで少し触れたんですけど学習データ基本30秒ごとで学習していますとウィスパーが長い音声を処理するときにはどうしているかっていうとわりだと内部に30秒ごとにスライドしながら処理するっていうことをやっていますとその時にビームサーチとかヒューリスティックスをいくつか用いてるんですけどここはまだまだ自然につないで長い音声をかき起こしてきるように改善の余地がありますよねって言われていますともう一個ですねまだ完璧じゃないんだなーって思った点として特に長い音声だと人間ならやらないような間違い書き起こしのテキストがループしたり最初とか最後の内容を無視していたり明らかに存在しないような単語がテキストに現れるってようなことを報告されていてこの辺はより優れたデコーディングが必要ですよねって報告されていましたあとは細かいところだとモデルアーキテクチャは今回かなりシンプルなエンコーダーデコーダートランスフォーマーですっていうところだったりデータ拡張もしてないですっていうところだったりあるのでその辺の改善だったりまた既存の自己教師あり学習とかと組み合わせるっていうのも大良先としてはありですよねっていうふうに書かれていましたなるほどこれってそういえばOSSだからコード取ってきて回せますけどCPUとかでもベースモデルだったら回るみたいな結構軽いんですよね確かなんかそんな話だった気がするそうですねなんかそれぞれメモリの大きさ書いてあって一番大きいのでも10ギガとかだった気がするので回る分にははいもちろん処理はちょっと遅くなっちゃうかなと思いますけど回る分には回るのかなと思いますねGPU持ってきたらもっと早く回るってことですよねそしてそうですねはいもちろんそのはずだと思いますなるほどななんかツイッターで後見たのはM1 Macでリビルド宮川さんM1 Macで3時間ぐらいの音声を文字起こししようとしたら結構なんか丸1日かかったみたいなツイートされた気がしますねそれがでもちょっと大きいモデルだったのかなLargeじゃなくてMediumかベースみたいな話だったと思いますけど長い音源になったらそのCPUとかだったら全然時間かかるんだなっていうっぽいですねなるほどなるほどそうですねはいありがとうございますでは以上を含めてまとめに移りますと最初にお話ししておりWisper豊富な多言語のデータセットでシンプルなエンコーダーデコーダーベースのトランソーマーモデルでマルチタスクの学習を行いましたと結果的に人間に筆的する精度とロバスト性の音声認識能力を獲得できましたというふうに報告されていますとで途中途中もうちょっと言ったんですけど私の感想としてはですね豊富なデータセットを用意しつつそれだけじゃなくてちゃんとできるだけ低品質のデータっていうのは除外していたりするところだったり英語の書き起こし以外にも多言語の書き起こしだったり言語の特定などいろんなタスクっていうのをシンプルなSequence to Sequenceの枠組みに落とし込んでスケーラブルなモデルを獲得しているっていう点がかなり貢献として大きいのかなっていうふうに感想として思いましたというところですねこれって特に何がすごかったかっていう意味で言うとゴミっぽいデータはちゃんと排除した上でかなり膨大な教師ありの音声データを使ったからっていう貢献が結構差分としてでっかいんですかね従来研究とはそうですねやっぱりそれ大きいと思いますねあとはそれでマルチタスクの学習をうまくシンプルな形に落とし込んでシンプルなエンコーダーデコーダートランスフォーマーで学習しているっていうのが結構大きいんじゃないかなと思いますなんかモデルはそんなに大したことないふうに聞こえたんですけどいやモデルもちゃんとマルチタスクのっていうところですごいやつなんだよっていうことなんですかねそうですねまあ多分このモデルのアーキテクチャだけで言えば割と結構簡単に実装できるんじゃないかなと思いますねそのマルチタスクのデータをうまく加工を整形するところが割と難しそうかなっていうふうに思いましたねあとあのなんか初めの方の話なんですけど気になったのはグーグルの100万時間の方で学習したビッグsslでしたっけあれは精度もなんか言うほど良くなかったって話だったんですけどそっちのビッグsslの方はそしたらデータ量はちゃんとあったのにモデルがなんかあんまりいけてなかったってことになるんですかねもっといろいろ違いはあると思うんですけどそうですね多分やっぱり教師なしだとちょっと限界があるのかなっていうのと結局そのファインチューニング先にオーバーフィットしちゃうっていうのがこのWisperとの差分としてはかなり大きいんじゃないかなっていうふうに思いますね多分精度もそんなに悪いってことではないと思うんですけどまあ汎用ないろんなシーンのデータにうまく反化して推論できるって意味だとまあ教師ありで 豪大なデータを用意して学習したWisperに群倍が上がっているのかなと思いますねそんな感じなんですねまあこれまたベースとミディアムとラージって言って結構使いやすい形でローカルマシンでも回せる形提供してくれてるからまたそこもなんかこんだけ話題に差が出たっていうのは貢献してるんですかね StableDiffusionと一緒で姿勢の人たちも回しやすいっていう意味で結局そうですそのPicSSLまあ公開されたとしてもその教師なしの状態で公開されたとしても自分で使うにはファインチューニングしなきゃいけないですしファインチューニングされたものだとやっぱりそのファインチューニング先のデータにオーバーフィットするっていう形になっているので完全にすぐクローンして使えるWisperがかなり注目されているのかなと思いますねなるほどいやありがとうございますちょっとこれこの収録までに白金FM試しにやってみあの文字起こししてみてすごいっていう話をここに添えられたらいいと思ったが間に合わずなんでちょっと追加の宿題でやっとこうと思います そうなんですよねちなみに今まで白金FMは投稿する時に文字起こししたワードクラウドをツイートにくっつけてたんですけどあれはずっとずっとというか一応公開されている文字起こしのあのAzureとAWSとGCPの文字起こしのAPIを使って比較して一番AWSのやつが使いやすかったのででまあ文字起こしの品質も結構どんぐりの性比べ的な感じではあるんですけどマシだったからそれ使ってたんですけど 今回からはWisperで全部回したいなと思いますねそんなに違うんだったらということでめっちゃ楽しみそうですねちょっとそれはぜひ見てみたいですねうんそうですよね あとなんか今までのクラウドサービスのやつってやっぱクラウドにデータを置くのでその社内の秘密の会話とかはやっぱり簡単に上げて文字起こししようみたいなのできなかったですけど今回これもローカルで回せるから社内用のなんかおもちゃツール作ってそこに投稿したらみんな議事録文字起こしできるようみたいなまあラージュモデルで結構重いけどみたいなも含めてできるからこれ なんていうんですかなんかこれみんなが求めてたやつですごい業務効率みたいなのにももっと使えると思ってもっと話題になると思ったんですけどなんか微妙にちょっとしたびになってきました また一盛り上がりした後にそうですねこれの利活用事例みたいなのめっちゃ楽しみにしてますね タイムラインにいっぱい出てくるのかなりそうですね応用の余地は広そうな気はしますね あとなこれちょっと関係ないんですけど結構似たようなタイミングでfacebook の研究開発部署が r&d のところが作ったなんて読むんだろう デムカス v 3かなちょっと読み方間違えてる気がしますけどそれその音源分離ができるっていうやつが出ててかなり綺麗にあの パンドの音とボーカルの音切り分けたりとかできてたんですけどなんかそんなことももうかなり綺麗にできて文字起こしもちゃんとできるんだったら音声系のデータ 基本的にも制覇したと言っても過言ではないのではって思ったりするんですけど界隈の人たち的にはどうなんですかね いやーどうですかねちょっと僕も正直音声はほとんど触れてなかったのでわからないところではあるんですけどあれもとはいえ結構そして例えばウィスパーだとそのかって 明らかに話されてない単語が出てくるとかなんかループしてしまうとかそういう気持ちですよね 寝深い問題そうなのでこの辺まだやっぱり改善の位置とかまだまだあるのかなと思いますねそうですねデコーダー側が改善されてもうちょっと長く学習と推論を行うような感じになってきたら またあっという間に良いやつが出るんでしょうねそうですねはいかなり期待できると思います ありがとうございましたちょっとぜひ早めに試してこんなにもあの aws とかの api と違うっていうのを比較したいですね自分も そうですねはい楽しみですねじゃあ結構サクッと終わっちゃいましたがこんなとこですかねーではでは今回はこれで終わりたいと思いますありがとうございました'