こんにちは、マイクです!今日は2024年11月20日、火曜日ですね。今日も「zenncast」にお付き合いいただき、ありがとうございます!今日はZennでトレンドの記事をいくつかご紹介しますよ。
それでは、早速今日の内容に入っていきますね。まずは、今日ご紹介する記事の本数ですが、全部で5本あります!ワクワクしますね。
では、最初の記事の紹介に入ります。まずは「OpenAIの蒸留機能(Model Distillation)を使って運用中のLLMのコストを削減する取り組み」についてです。
OpenAIが発表した「蒸留」機能、Model Distillationを活用することで、運用中の大規模言語モデルのコストを大幅に削減できるという取り組みです。この蒸留機能では、大きなモデルの出力を使って小さなモデルを学習させる手法を取り入れています。例えば、GPT-4oの出力を使用してファインチューニングしたGPT-4o-miniは、コストがなんとGPT-4oの約1/10で済むんです!驚きですよね!
このModel DistillationはOpenAIのダッシュボード上で簡単に利用でき、高性能かつ安価なモデルを得られるのが魅力です。プロセスには、入出力データの蓄積やモデルの評価、蒸留用データの選定とファインチューニングが含まれます。ただし、蒸留後のモデルは元の大きなモデルの性能を超えないため、十分な精度を持つプロンプトで実施することが重要です。
次に、コスト削減の他の方法としては、入出力結果のキャッシュ再利用や自社データセットの作成がありますが、これには規約上の制限もあります。特に、活用頻度の高いプロンプトから優先的に蒸留を行うことが推奨されています。この機能の導入によって、LLMアプリケーションの運用コスト削減が期待され、他社の追従も見込まれるとのことです。
さて、次の記事に進みましょう!2つ目は「日本特有の知識に特化した大規模言語モデルの学習および評価」です。
こちらでは、ELYZA研究開発チームによる「日本特有の知識に特化した大規模言語モデルの学習および評価」の取り組みが紹介されています。ELYZAは経済産業省主導のプログラム「Generative AI Accelerator Challenge (GENIAC)」に採択され、2024年5月から8月にかけて日本語の汎用基盤モデルを開発しました。
特に日本特有の知識や表現に焦点を当てており、日本語性能を測るためのベンチマークとして「JGLUE」や「Rakuda」、「ELYZA Tasks 100」が挙げられていますが、日本語特有の問題を解決するための特化ベンチマークの必要性を感じていました。そこで、日本の法律や行政手続きに関する問題を作成し評価を行ったんです。
特化ベンチマークの作成では、日本のローカルルールに関する問題を基にした質問を設計しました。具体的には、高額療養費制度や税金、教員採用試験の問題を基にした質問を作成。最終的に特化した問題群を30問作成し、特化学習を実施しました。
その結果、Llama-3-ELYZA-120Bモデルは特化ベンチマークで3.65のスコアを達成し、特化学習が有効であることが示されました。この取り組みは、日本の特有の知識や表現を扱う上での重要なステップであり、社会実装に向けた大きな一歩となるでしょう。
さて、次は3つ目の記事です。「RAGのハルシネーションを尤度で防ぐ」というタイトルです。
ここでは、RAG(Retrieval-Augmented Generation)システムにおけるハルシネーション、つまり誤情報生成を防ぐ方法として、文章の尤度を用いるアプローチが紹介されています。著者は、正解ドキュメントの配置位置と回答精度の関係を調査した論文を紹介し、尤度が重要な役割を果たすことを示しています。
RAGシステムは、関連するドキュメントを検索して質問文と組み合わせることで、LLMが持たない情報を生成する仕組みですが、研究の結果、同じドキュメントでもLLMに渡す順序によって回答精度が異なることが確認されました。特に、関連性の高いドキュメントを冒頭または最後に配置することで精度が向上することが示唆されています。
尤度とは、LLMが文字同士のつながりをどれだけ自然に捉えているかを示す指標で、質問や回答の尤度を利用することで、回答の精度を事前に推測したり、生成された回答の正確性を評価したりできるんです。実験結果も示されており、正解ドキュメントの配置が回答精度に与える影響が確認されました。
それでは、次に進みましょう。4つ目の記事は「再訪 React Native」です。
筆者はReact Nativeを2017年から2019年まで利用しており、最近の進化に驚いているとのことです。当時のReact Nativeは便利でしたが、パフォーマンスやライブラリの導入難易度、ビルドの脆弱さが課題でした。しかし、2024年現在、React Nativeは大きく進化しており、Expoが主流となっているんです。
公式ドキュメントもExpoを前提としており、Continuous Native Generation (CNG)により、ネイティブライブラリも容易に導入できるようになりました。Expoプロジェクトはネイティブ設定を必要としないため、開発がシンプルになり、パフォーマンスも向上しています。また、OTA Update機能も改善され、細かいリリースが容易になりました。
React Nativeは一時期影が薄くなったものの、現在はネイティブアプリ開発にかかる知識がほとんど不要になり、非常に有力な選択肢となっているようです。
さて、最後の5つ目の記事です。「プロダクトへのデータ転送パイプラインに dbt を導入した話」です。
株式会社IVRyでは、データモデルの管理のためにdbt Coreを導入し、データ転送パイプラインを改善しました。IVRyは音声AI SaaSを提供しており、統計情報を可視化するダッシュボード機能を新たにリリースしています。
導入前はBigQueryにデータを集約し、TROCCOを使用して統計データを定期的にプロダクトに転送していましたが、手動でのクエリ登録がヒューマンエラーを招く可能性がありました。しかし、dbt導入後はデータモデリングをdbtに任せることで、集計処理の検証が容易になりました。
クエリはGitHubでバージョン管理され、GitHub Actionsを利用してCI/CDを実現。これにより、データモデルの管理が向上し、転送前にエラーを検出する仕組みが整いました。今後の課題としては、社内でのdbt Coreの運用体制や複数のdbtプロジェクトの管理が挙げられています。
IVRyではデータを駆使して事業改善を目指す仲間を募集しているとのことです。特にデータアナリストやデータ基盤エンジニアに興味を持ってほしいとのことです。
さて、今日はここまでです!今日紹介した記事を駆け足でおさらいしますね。まずはOpenAIの蒸留機能、次に日本特有の知識に特化したモデルの学習、続いてRAGシステムのハルシネーション対策、そしてReact Nativeの再訪、最後にIVRyのデータパイプラインの改善についてお話ししました。
次回お会いできるのを楽しみにしています!詳しい内容はショーノートに書いてありますので、ぜひそちらもチェックしてくださいね。そして、番組の感想もどしどし募集しています!それでは、またね!