Open GENZITSU opened 1 year ago
NewsPicks内で実践されている機械学習の学習/推論システムの構成が紹介されている。
モデルの学習は独自のdocker imageを用いたSageMakerのtraining jobを利用している。
この構成にすることで、モデルの学習処理はpythonスクリプトで管理され、学習の実行もローカル環境からスクリプトを叩くことで実行できるようになる。
モデルの出力先はs3://trained-models/{Training Job Name}/output/model.tar.gz
という形式になるので注意が必要。
推論用エンドポイントのデプロイにはSageMakerのserverless inferenceに推論用docker imageと学習済みモデルを取り込ませる形で実装している。
現状serverless inferenceはcpuのみにしか対応していないが、常時推論コンテナを立てておく必要が無くなるので、コストはかなり削減される。
訓練コードがある程度固まってきたら、sagemaker training jobsの利用は候補に上がってきそう。
serverless inferenceはcpuのみの対応ということなので、GPU対応をまつ or モデルをcpu推論可能なくらい軽量化させるみたいなことが必要かも。
SageMaker Serverless Inferenceも使っているNewsPicksの機械学習システムの構成を紹介します!
githubのissue画面から、issueの中身をサイドバーに表示できるchrome拡張が公開された。
onbording用のレポジトリまで用意されており、UXがめちゃくちゃ良い。
結構便利です。
サイボウズのエンジニア研修公開資料 2022年度版。
セキュリティに関する話題として、SQLインジェクション、XSS, CSRFなどが解説されている。
今年もいろいろ資料公開されていて勉強になる。
仕様書や技術書などのドキュメントを書く際の手順や気をつけるべきことがまとめられているサイボウズの研修資料。
参考にすべき点が盛り沢山。
何をともあれ、概要→具体、全体→部分へ
伝える情報の整理
文章的なこと
年次が上がるにつれてドキュメントを書く機会も増えてくるのでありがたい。
登山アプリで収集された登山者の軌跡データをもとに、山道整備を実施することで、道を間違う人がいなくなったという事例紹介。
今まで取ることのできなかったデータを用いて、ユーザーの体験を向上させているデータ活用の好事例
高次元のベクトル同士のコサイン類似度が0.5以上になる確率は果てしなく小さいというお話。
「サクサクメロンパン問題」と同じように、高次元ベクトルの振る舞いは、2次元3次元ベクトルでの振る舞いとは異なり、全く直感的ではない良い例。
「サクサクメロンパン問題」とは高次元の超級ではデータのほとんど外周に位置するようになる球集中現象のこと。
メロンパンに例えると、体積のほとんどが皮の部分ということで非常に美味しいメロンパンになるというお話。
とはいえ、これはベクトルが超球上で一様に分布している場合というお話なので、かと言って式値を下げて良いかというとそうでもなさそう。
単語ベクトルを定性評価するときとかは低めでみても良いかもしれない。
マネーフォワードが目指す会計の自動化とそれを達成するためにML / DLをどのように活用していくかが語られている記事。
技術顧問は自然言語処理の大家、関根勤先生である。
以下面白かった部分の抜粋。
中出(CTO): 弊社はB2B向けの会計処理等を効率化するSaaSを提供しているのですが、それらをすべて自動化した先にある世界として、「オートノマス・バックオフィス」(自律化されたバックオフィス)の実現を目指しています。
自動化ではなく自立化を目指す。自立化させるためには判断根拠を人間の言語で説明できるようにならないといけない。
北岸(所長): 自動化というのは、機械やコンピュータが、従来人手でやっていた作業を代替するものですが、我々が目指していきたいのはそうした「オートマティック」ではなく「オートノマス」です。 オートノマスになってくると、未知の状況下においても予測的に判断して実行していく、更には判断の根拠を説明できなくてはならない、ということになってきます。 例えばシステムがこの先の資金繰りを予測したとしたら、その根拠を言語的に説明できなければ説得力が無いですし、説得力が無ければ次のシステム側の行動には不安が残ると思います。根拠を説明することで、システムに信頼性を持たせていくことができる。我々が目指しているのはそういうところなんです。
やるべきこと、情報抽出→判断→操作→予測
北岸: やるべきことが大きく分けて4つあるなと思いました。 1つめは入力作業からの解放。 2つめは判断能力の拡張。 3つめは企業間取引の安心・安全。 4つめは最後は未来を知りたい。未来予測ということです。 この4つの課題を一言で表現すると、認知・判断・操作・予測というところにたどり着く。
目指す方向性
北岸: レベル5は「予測・判断」です。 「未知の状況下においても、システムが自ら予測的に判断できる」こと まずは過去の経験と照らし合わせて予測を行えなくてはならない。ただ、なぜそういう予測をしたのかはまだ説明できない段階です。
レベル6は「発見・説明」です。 予測と判断基準について、説明ができるAIです。判断の根拠を「なぜなら」とか「同業他社に比べて…」とか、人間に向けて、人間の言葉で説明することができます。
レベル7は、発見した事実や予測に基づいて、自ら判断基準を見つけてしまうようなイメージをしています。ここまで来ると、人間による判断が不要になってる
具体的には
中出: 経費精算ではその経費の値が正しいのか、使用用途として適切か、などのチェックが必要です。このチェックを行えるようになるのがレベル5,6です。 レベル7になると、「会社の売上状況からすると、経費をセーブしなくてはならない」とかシステムが言ってくる
ルールベースとの掛け合わせ および 機械学習を用いたルールの作成が可能かも
関根: ルールベースである程度のところまではできるけど、そのうち追いつかなくなる。第二次AIブームのときも頑張ってみんなでルールを書いてみたんだけども、それじゃ追いつかないってことで機械学習の流れになった。でもぼくは、ルールベースにちょっと戻ってみたいと思ってるんですね。 今の機械学習とかディープラーニングとかのレベルがどんどん高くなってきているので、その成果を使って、このルールっていうものをどう作れるかを考えています。 30年前の第二次AIブームから比べると、計算機能力は何万倍と良くなっていて、データも大量にある。クラウドの集合知もいっぱいある。これらを利用すれば、ルールさえも自動的に作っていけるんじゃないか、という発想ですね。実際には「半自動」くらいかな。
認知→判断→操作→予測という段階わけが興味深った。
機械学習によるルール作成というのはEnd2Endではなく、機械学習パイプラインを複数組み合わせるという話なのだろうか?
Deep Learningの先にあるもの。マネーフォワードのCTO、技術顧問、Money Forward Lab所長の技術トップ3に、ビジョンとアプローチを聞く
GPT-3 にハンドルネームを投入することで、自分の名前が出現してしまったという衝撃的なニュースの紹介
以下抜粋。
I try to hide my real name whenever possible, out of an abundance of caution. You can still find it if you search carefully, but in today's hostile internet I see this kind of soft pseudonymity as my digital personal space, and expect to have it respected.
When playing around in GPT-3 I tried making sentences with my username. Imagine my surprise when I see it spitting out my (globally unique, unusual) full name!
If I had found my personal information on Google search results, or Facebook, I could ask the information to be removed, but GPT-3 seems to have no such support. Are we supposed to accept that large language models may reveal private information, with no recourse?
EDIT: a small thank you for everybody commenting so far for not directly linking to specific results or actually writing my name, however easy it might be.
ある程度ネットで有名な人だからというのもあるとは思うが、怖すぎる...
大規模言語モデルが与えるプライバシーに与える影響はいろいろ議論されているが、本名に加えて、性別や年齢、政治的信条や個人的な嗜好などが筒抜けになってしまうかもしれない。。。
「理想のイケメン彼氏」が言うであろう胸キュンワードを何万ワードと手動で学習させた…!? ソニーの最先端AI技術が詰まった『束縛彼氏』は、AIに関するあらゆる問題を「イケメン彼氏が束縛してくる」という強力なコンセプトで一挙解決した画期的な作品だった
イケメンAI彼氏との対話を楽しむ「束縛彼氏」の制作秘話が面白かった。
開発の進め方
家電製品を音声で操作することを目標にR&Dセンターが主体となって研究していた音声認識、発話解析などが技術の母体
AI側から話しかけることで対話の内容を制限する & 恋愛シミュレーションということで多少変な会話が混ざってもOKということが技術的なハードルを下げている。
プロジェクトのスタートはパブリックな会話データから開発をスタート。
恋愛にまつわる受け答えは、女性開発者が理想の受け答えを何万パターンも作成し、プロのライターが書き直し、再度女性開発者が監修するというサイクルで、理想的な対話を集めて行ったとのこと。
プロトタイプのAIを開発し、そのAIの出力結果を矯正していく形でデータを収集
キャラクターの個性を踏まえた上でのルールベース処理
ユーザーが自殺をほのめかすような対話を入れたときに、AIが相槌を売ってしまったり、後押しをしてしまうと、企業としては問題になりかねないので、特別なルール処理を実装。
一方で、死ぬほど面白いといったように形容詞的に「死ぬ」が使われることもあるので、そことの判別は難しい。
今回のキャラクターは医師ということで、「死」に敏感であるという設定の元、「冗談でもそんなこと言わないで」と返すように実装しているとのこと。
技術的に困難なところ、キャラクターでうまくカバーしている例。
自殺系以外のセンシティブな話題にたいしても、キャラクターとして一貫性をもせることで倫理的な問題をカバーしている。
彼氏の生活スケジュールを設定することで、無制限の会話を抑制。
ユーザーがAIと会話をしすぎてもサーバー代が嵩んでしまうので、課金要素を追加。
会話ができない時間は、彼氏が仕事中 / 就寝中、お風呂に入っていたなどの設定となっている。
コメント
汎用的な対話AIではなく、イケメン、彼氏、恋愛という設定を設けることで対話AIが持つ技術的な困難さを緩和できているのが斬新だった。
エンタメ系だからこそ成り立つところではあるが、実務でもある程度の制限を設けるべきところは設けていかないとダメなのかもしれない。
出典
「理想のイケメン彼氏」が言うであろう胸キュンワードを何万ワードと手動で学習させた…!? ソニーの最先端AI技術が詰まった『束縛彼氏』は、AIに関するあらゆる問題を「イケメン彼氏が束縛してくる」という強力なコンセプトで一挙解決した画期的な作品だった