風見氏の自己紹介と、FastLabel株式会社の紹介

あらためまして、FastLabel株式会社の風見と申します。よろしくお願いいたします。私からは画像生成AIについてお話しできればなと思います。

最初に自己紹介をさせてください。私はFastLabel株式会社でエンジニアリングマネージャーとしてふだんはMLOps関連機能のユニットを持っていて、そこで開発を主導しています。同時にユーザーのテクニカルサポート部門の責任者も務めています。

バックグラウンドとしてはWebアプリケーションのエンジニアとして、エンタープライズ向けのシステムを、領域を絞らずに上流から下流までずっと持ってきたエンジニアになっています。

余談ですが、最近ちょっと激太りしてしまって。紹介写真の頃に戻りたいなと思って今絶賛ダイエット中です。秋の味覚は我慢しようかなと思います。

少し弊社の紹介をします。弊社はAIを開発するためのプラットフォーム、SaaS型のプラットフォームおよびその周辺サービスを提供している会社です。人数規模でいうと正社員50名ぐらい、トータルの規模だと80名弱ぐらいのベンチャー企業になっています。

(スライドを示して)小さくて見にくいかもしれないのですが、これが弊社のプロダクト、アプリケーションです。これはアノテーションをする画面ですが、もし興味ある方がいたら、ホームページから無料でフリーミアムで登録できますので、ぜひよろしくお願いします。

画像生成AIを活用したサービスのデモ

今回の本題に入っていきます。今回ですが、弊社は2023年6月に、画像生成AIを活用したサービスをリリースしました。それにあたり、多くの課題に当たってどう解決していったか。あとは開発としていくつか得られた知見みたいなところを共有できればと思っています。

さっそくですが、対象の機能がどんなものかわからないとイメージがつきにくいかなというところもあるので、想像以上の参加人数で緊張しますが、実機でもやってみたいなと思います。

(デモ開始)

(画面を示して)今こちらに映っているものが我々のサービスです。こちらがデータ生成の画面ですね。デフォルトで外部で公開されている生成のAIやAPIが使えるようになっていて、あとはファインチューニングをしたモデルなども使えるような画面になっています。

実際に「じゃあ画像を生成してみましょう」ということで、おなじみのプロンプトとかネガティブプロンプトとかを入れて。

「画像がこうやってバシバシ生成できますよ」というところになります。

ほかのモジュールやデータ管理を行うようなモジュールなどにも連携していけたらな、といった機能になっています。

あとはファインチューニングの周りだと、こんな感じで画像生成のためのデータを作れるようなプロジェクトも用意しています。

これは弊社の代表なのですが、こんな感じでアノテーションや分類を行いながら生成できます。

特徴としては、このプラットフォーム上からさらに学習を行って、画像生成のモデルを作成します。シームレスなところでいうと、先ほどの画面から、作ったモデルを使えるという機能になっています。

簡易的でしたが、いったん実機デモは終わりにします。

(デモ終了)

機能リリースの背景

さらに話を進めていきます。機能リリースの背景です。これなんで出したのかというところで、3点ありました。

1つが、AI開発をリードしていく企業として、対応の必要性を感じていたというところです。少し前にStable Diffusionや、それこそChatGPTなどの台頭に伴って「御社は生成AIをどういうふうに今後活用していくのですか?」といった問い合わせや要望といった熱が非常に高まっていたというところが1つあります。

2つ目が、我々はData-centricといってデータに重きを置いたAI開発を根底として考えている上で、課題を解決できる1つの手段と認識していました。

実はこの話が来る前から、お客さま、ユーザーからのデータ収集代行などのコンサルティングをやっている中で、「収集が難しいデータってどうやって集めればいいんですか?」という相談がもともとけっこう来ていて、これが1つの打ち手になるんじゃないかなというところがありました。

あともう1つは、開発者的には「とりあえずやりたいよね」というところですね。最新の技術などをどんどん取り入れていったほうが、開発部門のモチベーション的にも良いかなという、個人的な欲望もありました。

機能リリースのための4つの課題

ところが、そんなに話はサクッとは進まなくて、それなりに重い課題がいくつかありました。

4つあります。1つは技術的にもまだ不安定だった部分です。世の中的にもまだ出たてで、どんどん新しいものをみんな好き勝手出しているといった状況です。

2つ目は価値を提供できるサービスになるかの予測が難しいというところで、あまり使われないサービスに時間を投資するほどは余裕もなかったりしたので、どうしようかなというところです。

3つ目は規約や倫理面などでの不安です。これはもうすでにいろいろバズったりなどしていましたが、「どこまで利用していいのか?」「作成した画像ってどうなるんだっけ?」といったところが不透明だというところです。

4つ目は社内的にもあまり知見がなく、そこまで研究を進めていたわけではなかったので、開発者が個人的に触っている程度で「何ができるのか?」というところの勘どころがあまりなかったのかなと思います。

4つの課題に対するそれぞれの解決策

とはいえ、諦めるかどうかというところでいろいろと考えつつ、しっかりと解決策を打ち出しつつ、先ほど見せたようなアルファ版の機能リリースを行いました。この過程は考え方として良いかなと思いますので共有します。

まず「技術的に不安だよね」といったところは、早く小さく出すということです。正直、新しいものをずっと追い求めていたりとか、成熟するまで待っているとキリがないので、「こういうかたちでうまく刺さりそうだよね」というシナリオを決め打ちで進めています。

壊す前提で既存のAPIやAWSのJumpStartを使いました。最初から元になったモデルをもらってきて引っ張ってきてチューニングとかするとけっこう大変だったりするので、効率的に開発を進めました。

2つ目の価値のあるサービスになるかというところは、やはりユーザーと一緒に進めるということを考えました。ありがたいことに、弊社のプラットフォームのもともとのユーザーとはコミュニケーションがあったりするので、興味を持ってくれているユーザーに、無償トライアルなどを提供して、フィードバックをもらいながら一緒にリリースしていく、ブラッシュアップしていくといったことを戦略として進めています。

3つ目は規約や倫理面の不安というところで、これは弊社単体でも進めてはいるのですが、協力企業や団体と一緒に進めるかたちで、「日本画像生成AIコンソーシアム」(JIGAC)を設立して、弊社も参画しています。

ここで倫理面や生成AIとどういうふうに今後付き合っていくのかというところをリードしつつ、収集時の規約などもみんなで一緒に話しながら整備していこうとしています。

4つ目の「社内的に知見がない」というところで、MLエンジニアにも積極的に参画してもらいました。私などが所属している部署は、基本的にプロダクト開発なのでWebアプリのエンジニアがほとんどなのですが、AI Labという弊社の中でも要素技術の研究やコンサルティングを行うような部門のAIエンジニアの方々と情報交換しながら、かなりいろいろと実験を重ねて「こんなことができるんじゃないの?」というところを、試行錯誤しています。

こんな感じで打ち手を出しつつ、しっかりとリリースしていくことができました。

得られたTips

ここから、やっている中で得られたTipsを共有します。開発の詳しいところになると時間がいくらあっても足りないので、サクッと概要だけなぞらせていきます。

最初に、初期リリース時など「どうしよう?」と悩んでいる段階、企画構想段階では、APIやモデルが少しお金はかかるのですが、サクッと試せるようなものがいくつかあるので、こういうところを使って自分たちのアプリケーションと簡易的につないでみたりして、どんなもんかを見てみるところがいいかなと思いました。

次に、これは現時点での我々の所感ではあるのですが、特にStable Diffusionといった画像生成をバッと出すようなAIだと、今のところうまくいきやすいのは、1つの対象をパターンを変えて生成するほうが得意かなと。得意というか、うまくいく可能性が高いです。

例えばいろいろな画像、いろいろな種類のものを大量に一気に学習させていくと、学習自体は別に普通に終わるのですが、なんかあまりよくわからないもの、あまりきれいではないものができあがるケースが多いなと思います。

ノイズの少ない1つ、例えば人物ですが、人物の顔をクロップしてできるだけノイズを低くして、学習、ファインチューニングなどを行うと、きれいな現実さながらのデータができあがるケースが多かったかなと思っています。

あともう1つ、これは欲しいパターンが決まっていればInpaintingなども有効だなと思っています。Inpaintingという生成の一種ではあるんですが、画像のある範囲を指定して、そこだけを生成AIで上書きするみたいな手法です。

(スライドを示して)これだと、例えば「止まれ」の部分だけを生成AIで「進入禁止」の標識にすげ替えるという感じです。かなりきれいに出やすいかなと思っています。こういう知見があります。

あとは、姿勢推定の情報などを渡して、同じポーズで画像を生成するといったControlNetというのもあって。ある程度欲しいパターンなどが強く決まっているのであれば、こういうところも検討してみてもいいかなということがわかっています。

今後やっていきたいこと

まとめに入っていきます。今後やっていきたいことは、ユーザーが欲しいデータを簡単に生成できるようにするということがまず1つあげられます。

これやはり「やってみないとわからないよね」といった、生成AIのノリみたいのがなんとなくわかっている方じゃないと使うのが難しい機能に今なってしまっている。ある程度アプリケーション側の補助や我々のドキュメンテーションなどの負荷を下げていくみたいなことをやりたいなと思っています。

次に、アノテーションのデータも一緒に生成できるというところは、対象物のアノテーションデータも生成できるということもやっていきたいです。

さらに定量的なモデルの評価指標というところでは、我々は今画像を扱っているので、人の目による判断で「良いね・悪いね」という感覚ではなくて、定量的な評価みたいなものを指標として作りたいなというところです。

あとは、LLMも同じように引き合いがたくさん来ているので、LLMも同じようにカバーできるようにしていきたいなと考えています。

3〜4ヶ月ぐらい取り組んできた所感

最後のまとめなのですが、3〜4ヶ月ぐらいやってきた所感は、課題は正直言ってかなり大きく多いけれど、それ故にうまく活用できれば強力なツールで、差別化にもなるし、大きな価値を提供できるのではないかなと思っています。

これはいち開発者とかプロダクトを考える人間としては、無策だとまずいと思いますが、怯まずに戦略をしっかり立ててチャンレジしていくと、なにかまた新しいものが見えてくるというところで、大事かなと考えています。

私からの講演内容は以上です。ご清聴ありがとうございました。