ガジェット | Raven's Articles

【影響度が高い】ゆかコネ検証報告:GPUのx4モードは音声認識に影響するか?

この記事の概要を簡単まとめ!

  • “YukariWhisper”はv0.0.5にアップデートされた
  • 音声認識時の異常な結果はタイムアウト実装で暫定対応した
  • 詳細な解析で原因はWhisper自体にあり、正確なタイムアウト実装は不可能と判断
  • 試したいこと:YukariWhisperをサブGPUに対応させる
  • x4モードでの動作は結果にどれくらい影響するかを確認
  • 結果:同時処理数が多い場合明らかに影響する
  • 考察:同時処理数を絞る、X299(Skylake-X)を使う
  • x4接続にやらせるなら用途は限定する必要がある

私は凝り性というものであろう。ある難問にぶち当たったとき、その問題を絶対に解決したいと考え、そのためにあらゆる資料や先駆者の情報を探して参考にし、自分で試していく。それが失敗するのなら別の方法を次々に試し、最終的な答えが出ない時は一旦間をおいて解析を続ける。そのために他のことを放置することが多々あるので直さないといけない部分でもあるが。

その1つであり、現在最もやりたいことでもあるYukariWhisper。これの異常な音声認識対応は、残念ながら仕様の壁にぶち当たったので解決できそうになかった。そこで次に考えたのが、サブGPUを使用した負荷分散。しかし試していると、ここにも仕様の壁で問題が発生した。今回はそのレポートを書き、注意喚起も兼ねることにした。

【レーン数とチップセットに注意】2GPU構成テクニック:ゲーム用とその他で分ける

この記事の概要を簡単まとめ!

  • GPUはゲーム用途に使用される外付けのグラフィックボード
  • 一般的なGPUはPCIe x16で接続し、速度を確保する
  • マザーボードによってはPCIe x16が2個以上あるが、チップセットの制約でx4までしか速度が出ない
  • 2GPU環境下におけるx4モードによる影響を調査することにした
  • GPU-Zでの認識は”PCIe 3.0 x16 @x4 3.0″となる
  • FFXVベンチマークは高画質でもとりあえずプレイできるスコアに到達
  • 負荷を同時にかけすぎるとフレーム跳びが発生しやすいと判明
  • 考察:本体アップデート、負荷をかける範囲を限定してテストする
  • 本来の性能を発揮できないことを理解し、用途を限定して使っていく

性能と価格はトレードオフの関係にある。これはどんなものでもそうである。しかしうまく工夫することで性能差を埋めることや、上位モデルを安く入手できることがある。私はその両方を行っている。限られた範囲の中でどう扱えば最大のパフォーマンスを発揮できるか。それを考えるのは実は面白いものである。

だが時として努力では解決不可能な「仕様の壁」が存在する。時代が進んでも古い規格を使い続けるオールドタイプな企業と同じ、古い規格が維持されているせいでしたいことができないということがある。マザーボードのチップセットとGPUが今回その壁にぶち当たったため、このことについてレポートを書くことにした。

【タイムアウトを使え】ゆかコネ検証報告:YukariWhisper異常認識除去改造編

この記事の概要を簡単まとめ!

  • “YukariWhisper”はv0.0.4にアップデートされた
  • 使っていて気になる「異常な音声認識」の発生
  • 喋っていないタイミングで発生し、異常に認識時間が長い
  • 仮定:タイムアウトを実装すれば認識が快適になる
  • 調査:音声認識している箇所を探し出す
  • 改造:音声認識直後にタイムアウトのソースコードを実装、iniもパラメータを追加
  • 検証:タイムアウト時間を変更して正しく動作するかチェック
  • 結果:実装箇所は狙い通り、動作は想定通り
  • 異常の発生は少しの改造で99%抑えられる

faster-whisperをベースにゆかコネ用に調整されたYukariWhisperは、様々な調整を加えて利便性が向上した。現在v0.0.4に更新されたことを確認している。ただv0.0.4は軽微な修正であり、現在v0.0.3を使用している人は更新する必要がないと連絡されている。あとはベースとなっているfaster-whisperのアップデートを待つだけの状態であろう。

音声認識精度が非常に高い反面、要求されるリソースが高いことで積極的に使用する人も少ないこれだが、1つ気になっていたことがある。時々喋ってもいないのに異常な結果を出力することがあり、その場合は異常に認識時間がかかっている。これをどうにかできれば使い勝手も上がるのではないかと考えた。そこで再び、YukariWhisperの改造に乗り出した。

【非常用の域を出ない】ゆかコネ検証報告:オフライン認識はどこまで戦えるか

この記事の概要を簡単まとめ!

  • ゆかコネブラウザ音声認識、Edge vs Googleの構図
  • デバイスを指定できないEdge、負荷が高まっているChrome
  • ゆかコネ搭載のオフライン認識を代用できないかと考える
  • 音響モデルを切り替えることで精度と言語を変更できる
  • Alpha CepheiのVOSK軽量モデル(デフォルト)と大容量モデルで比較
  • 音声認識精度はそこまで変わらず、接続詞などが補完された程度
  • モデルロードの異常で音声認識結果が崩壊するバグ(発生原因不明)
  • あくまでも非常用、他が使えるならメインにする理由はない

YukariWhisperの方は、v0.0.3にアップデートされた。無許可改造が効いたかどうかは果たしてわからないが、そのバージョンからは皆に優しいものになった。しかし実用には3080Tiレベルでない場合、2GPU体制でなければほぼ使い物にならないので、解決するまではブラウザ音声認識に戻している。

しかしブラウザ音声認識にも問題があることを発見した。EdgeとChromeに対応するそれは、Edgeはマイクを選択できず、Chromeは利用者の増加に伴って応答が悪くなっていた。UDトークは環境上うまく使えなかったため、残った音声認識としてオフライン認識を試すことにした。これが使えれば、今後の音声認識のヒントになるはずだ。

【改造我慢できない】ゆかコネ検証報告:YukariWhisperをもっと快適に使う

この記事の概要を簡単まとめ!

  • faster-whisperベースの音声認識”YukariWhisper”を検証した
  • 設計上の仕様でNVIDIA製GPU、2000番台以下はcuda_8(int8_bfloat16)を使えなかった
  • もしかしてソースコードに不備があるのではと考え、中身を調べることにした
  • ソースコードと設定ファイルを改造、最低動作保証1000番台に対応した
  • 制作サイドではゆかコネのポート動的取得の対応完了
  • int8_float16をデフォルトに使用し、実際の配信で音声認識精度と負荷を確認
  • 結果:ヒロアカでは問題なく伝説のレジェンド(A P E X L e g e n d s)では支障が出た
  • 対策:上位モデル3000番台以上か2GPU構成を行う
  • 代用:ノイズ除去を他の音声認識にも適用する
  • 不完全なものは自分で完全にしてしまえばいい

1週間程度、ゆかコネで使用可能になった音声認識”YukariWhisper”について調査していた。ゆかコネ音声認識比較のデータの1つとして試験後、実際の配信でも使用してみた。しかしcuda_8非対応、VRAMが最低で4GB消費する、ノイズ除去を十分行わないとノイズを音声と誤認する、時々反応が悪いなどの問題があって、使用を休止していた。

GPU問題はこの際、もう無視することにした。もう1つ考えたのは、ソースコードに不備があるということ。元となるfaster-whisperについての解説は探せば出てくるほか、変数を追うことなどは割とやったことがあって得意である。おそらくタブーに手を出している気がするが、だが使いづらさや不備を見過ごせないので中身を見ることにした。

【手軽にAIで音声認識】ゆかコネ解説書:YukariWhisperを使って音声認識する

この記事の概要を簡単まとめ!

  • ゆかコネ×AIの研究はDiscordで盛んである
  • OpenAIの音声認識AI”Whisper”が2022年9月に登場
  • 外部ツールとしてTYAPA氏によりゆかコネで使用可能になった
  • 前提条件:NVIDIA製GPUで1000番台以上を使用している
  • 機械学習の応用であるためPython3.1.17のインストールが必要
  • プログラミング未経験者がつまづく部分の初期設定も解説
  • 使用感想:かなり正確、ノイズ除去調整で良くなる
  • 問題:int8_bfloat16が使用できない場合、VRAMの余裕がなくなる
  • 解決策:3000番台以上を使うか機械学習専用GPUの2枚運用を行う
  • GPUに余裕があれば、正確性はより高くなる

ゆかコネ検証はやり始めると止まらない。また、検証にあたってはうーちゃんからヒントを貰うことが多い。技術への探求心は互いに高いということであろう。そして検証結果をまとめてどこかに残しておくことで、私の知らないところで誰かがゆかコネで困っていることを解決しているであろう。

AIの発展はゆかコネの使い方にも影響を与えている。OpenAIのGPT-3系が公開されるとAIアシスタントで使われるようになり、このあたりを積極的に使用・調査している人もいる。一方で音声認識では同じくOpenAIの”Whisper”が公開され、有志によりゆかコネで使えるものが制作された。使うには準備が必要なため、その解説をすることにした。

【目的別で使い分ける】ゆかコネ検証報告:音声認識の種類とそれぞれの違い

この記事の概要を簡単まとめ!

  • ゆかコネ、できることが増えていく
  • 音声認識経路は実は多彩に用意されている
  • それぞれで特徴が違うはずなので比較してみることにした
  • 検証用の録音音声を12パターン容易し、入力を均一化する
  • 1音声ずつ現在使用可能な7種類を同時に比較する
  • ブラウザ: 文章性はEdge, 正確性はChrome
  • オフライン認識: 応答性は高いがどうしても正確性に欠ける
  • UDトーク: エミュレータよりスマートフォンの方が良い可能性
  • YNC-Whisper: ノイズ除去が重要である
  • 結論:それぞれの特徴から、自分に合ったものを選んで使う

世には人知れず登場して人知れず消滅していくものが多すぎる。なので気付いたら存在して気付いたら消えている、をよく経験する。その存在が自分にとって必要なものだったのが、無くなってかなり時間が経ったときに気付くというのが多いために、もっと早くに気付いていればと思うことも少なくない。

ゆかコネは幸い、cleaちゃんをはじめとした多くのユーザーに愛されて、検証班も多いため提案や不具合レポートも盛んである。機能も多数追加されている中、最も基本となる音声認識も経路が増えている。そこで今回はゆかコネが現在扱える音声認識経路をそれぞれ使用し、その結果からどういう使い分けが最適かを考えていく。

Ads Blocker Image Powered by Code Help Pro

広告ブロックを検知しました。 | Ad block detected.

ブラウザのアドオン、及びブラウザに内蔵されているアドブロック機能により、広告ブロックが行われていることが検知されました。
本ブログは広告収入により運営されており、広告ブロックは正当な理由の下で配信されている広告をも阻害することとなり、運営が非常に困難になります。
この表示は広告ブロック機能の無効化、あるいはホワイトリストへの追加を行った上で、更新を行うことで消すことができます。または、広告ブロック機能のないブラウザで閲覧ください。
広告で嫌な思いをしたことがあるとは思いますが、一律に広告をブロックすることで失われるコンテンツも存在します。そのことへのご理解とご協力をお願いします。

We have detected that ad-blocking is being performed by browser add-ons and the browser’s built-in ad-blocking function.
This blog is operated by advertising revenue, and ad blocking will interfere with advertisements that are also being served under legitimate reasons, making it very difficult to operate.
This display can be removed by disabling the ad-blocking function or adding it to the white list and then updating it. Alternatively, please view the site with a browser that does not have an ad-blocking function.
We understand that you may have had bad experiences with advertisements, but there are some contents that are lost by uniformly blocking advertisements. We ask for your understanding and cooperation in this matter.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock