技術のブレイクスルーに対応するため変更容易な疎結合で設計
どんなアーキテクチャを採用して作ったとしても、大事なことはもはや研究フェーズではなく、開発フェーズであること。そして人が入れ替わったとしても、長く運用できるようなシステムであること。そのためには「疎結合化して、エンジニアが普遍的に扱えるような作法に則ってチューニングする必要がある」と坂本氏は力強く語る。つまり変更が容易で、障害に強いシステムの実現を目指すというわけだ。
とはいえそう簡単なことではない。生成AIは特に変化が激しく急にモデルが使えなくなったり、爆発的なブレイクスルーが起こり互換性のないまったく新しい考え方が出てきたりすることもある。そのようなときに、前処理と後処理が推論(実処理)と密結合していると、「システム自体が作り直しになる可能性がある」と坂本氏。そこで実処理だけを入れ替えるようにすることで、「新しいブレイクスルーが起きたとしても、いち早くその新しい考え方をシステムに組み込めるようになる」と坂本氏は言う。そのためにも疎結合な仕組みにすることが欠かせないのだ。
では具体的にどうやって疎結合の仕組みにすればよいのか。生成AI周りではAPIサーバを簡単に作成できるSaaSが増えている。例えばAzure Machine Learningを使えば、簡単にRESTのAPIサーバを立てることができる。一方のクライアント側はWebアプリケーションならVuie.js、モバイルならFlutter、Amazonに強いエンジニアが多いのなら、Amazon ECSからでもAPIからでもAPIで問い合わせさせることもできる。このように、生成AIの部分だけ切り離した形にすれば、Azure AI Studioのように新たなサービスが出てきたとしても、容易に乗り換えることができるようになる。「生成AIも入れ替えを前提にした普段のシステムの中の1モジュールでしかありません」(坂本氏)
モデルの考え方が古くなればそれを捨てて、新しいものを取り込む。それができる環境が疎結合化である。