DMOps(Data Management Operation and Recipes)、現業でデータを構築すること。

2023/05/12 | 5分
 
  • パク・チャンジュン (AI Research Engineer)

  • 現業でデータを構築する過程(DMOps)が気になる方
    高品質の人工知能モデルを作りたい方
    Data-centric AIに興味がある方

  • ルールベース、統計ベース、機械学習ベース、ディープラーニングベース、LLMベースまで、人工知能時代を過ぎて、データが重要でない時代は存在しませんでした。

    では、このデータは誰が制作・設計するのでしょうか?高品質なAIモデルを作るための「学習データ作成のA to Z」をまとめてみました。

    DMOpsに関する詳細は、アップステージTechブログでご確認ください!

  • ✔️ DMOpsの必要性

    ✔️ DMOps紹介

    ✔️ 1. Establish the Project Goal(プロジェクトの目的把握)
    ✔️ 2. Secure Raw Data(ソースデータ収集)
    ✔️ 3. Data Pre-processing(データ前処理)
    ✔️ 4.Design a Data Schema (データ注釈体系設計)
    ✔️ 5. Prepare a Guideline (ガイドライン作成)
    ✔️ 6. Recruit Annotators (作業者募集)
    ✔️ 7. Instruct Annotators (作業者教育)
    ✔️ 8.Data Labeling (データラベリング)
    ✔️ 9. Data Internal Factor Verification (データ内在的要素検証)
    ✔️ 10. Data Extrinsic Factor Verification (データ外在的要素検証)
    ✔️ 11. Data Evaluation through Model Verification (モデルを通じたデータ品質評価)
    ✔️ 12. Data Deliverables (データ配信)
    ✔️ DMOpsの未来

💡 Data-centric AIの発展により、データの重要性は日々高まっています。前回の1編では、Real-WorldでData-Centric AIがどのように表象され、運用されるかを紹介しましたが、今回の記事では、現業で実際のデータをどのように構築するか、DMOps(Data Management Operation and Recipes)について詳しく説明したいと思います。



ルールベース、統計ベース、機械学習ベース、ディープラーニングベース、LLMベースに至るまで、人工知能の時代を経て、データが重要でない時代は存在しませんでした。各時代ごとに学習方法論の違いは顕著に存在しますが、データとTaskはそのまま維持されてきました例えば、機械翻訳の場合、1949年にウォーレンウィーバー(Warren Weaver)が提案した概念を始め、ルールベースの機械翻訳機、統計ベースの機械翻訳機を経て、今のGoogle翻訳、Papago、DeepLなどに使用される人工ニューラルネットワークベースの機械翻訳(Neural Machine Translation)に発展してきましたが、これはすべて並列コーパス(Parallel Corpus)をベースにモデルを学習しました。このように、すべての時代を経てTaskとデータはそのまま維持されてきており、学習方法論の違いだけ存在するのです。つまり、データは人工知能という用語が作られた時から今までユビキタス(ubiquitous、どこにでもある)な存在でした。

では、このデータは一体誰が制作し、設計するのでしょうか? 豆を植えたら豆ができる」ということわざのように、データは魔法のように突然生まれるのではなく、一連の過程を経て誕生します。今回の記事では、高品質の人工知能モデルを作るための学習データをどのようにZeroからOneまで作成するのかについて説明します。

DMOpsの必要性

Data-Centric AIの登場により、学界や政府機関はデータに関する様々な研究と政策を展開しています。学界では、大規模データセットを活用したモデル性能改善研究だけでなく、モデル間の性能比較のためのベンチマークデータセット製作研究など、様々な分野で研究が行われています。政府は公共データ開放政策を施行し、国家統計庁などでデータを提供しており、データダムプロジェクト(科学技術情報通信部が主催したプロジェクトで、デジタルニューディールの一つ)を施行しています。これに該当する中核事業としては、AIバウチャー支援事業、AI学習用データ構築などがあり、これを通じてクラウドとビッグデータプラットフォームをはじめとする様々なデータを集めたデジタル経済基盤を造成しようとしました。 また、国立国語院、NIAが運営するAIHUBなど様々なデータプラットフォームを国家レベルで運営しています。

しかし、産業界では主力事業ドメインに特化したデータが必要で、特にB2B企業には顧客の要求と事業アイテムに合ったデータが必須です。 このようなデータは、公開されているベンチマークデータセットや公共データだけでは満たすことが難しく、そのデータを使用しても、最終的にはドメインに特化したデータを追加で直接制作する必要があります。 このため、多くの企業が独自に必要なデータを制作しており、さらにクラウドワーカーを専門的に運営する企業が登場しています。

このような企業のデータニーズの観点に対応し、特定のドメインに関係なく汎用的に適用でき、データを簡単、迅速、効率的に構築できるパイプラインであるDMOpsをご紹介します。DMOpsはデータ制作のための総合的なソリューションです。データ制作段階から配布段階までの全過程を担当します。これにより、企業がデータを設計、製作するのにかかる時間とコストを削減し、運営効率化に役立つことができます。 つまり、DMOpsは迅速かつ効率的にデータを構築できる一種の総合ソリューションであり、データを生産するベースラインの役割で、一貫性があり、信頼できる高品質のデータを生産することができます。

DMOps紹介

dmops

DMOpsに必要な過程 (出典: https://arxiv.org/pdf/2301.01228.pdf)

食べ物を作るためにはレシピが必要であるように、データを製作するのにもレシピが必要です。 そのレシピの名前はDMOpsです。DMOpsは全部で12段階に分かれています。これにはデータの目的及び要件分析が行われるビジネス段階からモデルチームに最終出力データが伝達されるすべての過程が含まれています。

  1. Establish the Project Goal (プロジェクトの目的把握)

データ制作の目的と事業的な要件分析が行われる段階です。この段階ではモデルチーム、事業運営チームなどとの協業が求められ、モデルチームで使用するディープラーニングモデルを把握し、それに対応するデータの入出力形式と段階的に必要な数量などを決めることになります。企業では、ユーザー(User)あるいは顧客のニーズの把握からすべてが始まります。これが学界と企業との決定的な違いであり、企業ではプロジェクトの目的性を考慮することが非常に重要です。つまり、企業の観点からの良いデータとは、データ提供者のニーズ(needs)、つまり要求事項がよく反映されたデータから始まります。

2. Secure Raw Data (ソースデータ収集)

ソースデータの調査と同時に収集が行われる段階です。源泉データはどのように収集されるのでしょうか?大きく分けて5つ程度に分けることができます。

  1. お客様からデータを提供される場合

  2. 自社でクラウドソーシング(インハウスワーカー)を使ってデータを収集する場合

  3. クロールする場合

  4. 公共データを取り込む場合

  5. 社内イベントを通じてデータを収集する場合

どのような経路でデータを収集する際には、著作権の確認が必須であり、さらに企業の場合、法務的な検討を必ず経なければなりません。 また、データを保存する構造、修正権限なども考慮しなければなりません。可能な限りデータを扱うチームのみにデータアクセス権限を付与し、データの無分別な修正や管理から安全に保護することが重要であり、データを保存する際にも体系的なフォルダ構造に基づいて管理されることが重要です。

生データ収集時に以下の4つの要素を考慮することが重要だと「人工知能データ品質標準案(科学技術情報通信部)」で勧告しています。

  • データの多様性:学習に有用なすべての特性情報を含んでおり、多様に変化しているかどうかを考慮して、実際の世界と同様の特性と変動性を持つデータで構成する必要がある。

  • 信頼性:生データは必ず信頼できるソースから収集する必要があります。

  • 取得可能性:特性が現れないデータなど加工が難しいデータを収集してはならず、加工が容易なデータを収集する必要がある。

  • 法制度の遵守:個人情報を含むデータを収集する場合、収集及び活用に同意したデータのみを収集しなければならず、許可が必要な区域では事前許可を得てデータを収集しなければならない。

特に著作権を考慮することも非常に重要で、CCライセンスを常に確認してデータを利用する習慣をつけることが重要です。

3. Data Pre-processing (データ前処理)

収集または配信されたソースデータをもとに、データの質を向上させるために様々な前処理を行う段階です。基本的にデータを要件の形式に合わせることから、フィルタリングが必要な個人情報、嫌悪表現などのノイズを取り除く作業が重要です。つまり、「量より質」を実践する段階です

このような前処理段階は大きく2つの作業に分けられます。一つ目は、データの内在的な特性を基に、クオリティを向上させる作業です。代表的に機械翻訳のparallel corpus filtering作業が存在し、モデルの構造を変更することなく、データの品質管理だけでモデルの性能を向上させてくれるデータ中心的で効率的な方法論です。

二つ目は、データの倫理的な問題への対応です。データのライセンス情報をあらかじめ添付したり、個人情報がある場合はマスキングする作業がこれに該当します。このような作業を事前に明確に行わないと、後日データのラベリングや検証まで行ってもデータを使用できない可能性があるため、非常に重要な作業と言えます。

データ前処理時の注意点を3つまとめると以下の通りです。

  • 精製基準

    • 構築目的に適したデータを選別するための明確な基準を策定し、基準未満のデータを効果的に除去する必要がある。

  • 非識別化

    • 個人情報を適切に非識別化し、非識別化により情報の損失が生じないように注意する。

  • 冗長性防止

    • 類似のデータ及び特性のないデータを削除する必要があります。

4. Design a Data Schema (データ注釈体系設計)

"Data Schema"は、データベース分野でデータ構造を定義する方法を指します。 つまり、データベースに保存されるデータの形式、構造、制約条件などを定義することです。 同様に、データを設計する際、どのようにデータのラベリングを行うかなどの企画・設計を行う必要があります。 このような作業を行う段階が「データ注釈体系設計」段階です。

つまり、最終的にデータセットが必要とする情報をすべて入れられるように注釈作業を設計する過程です。データを直接見ながらAIモデルで解決しようとする問題を解決するために必要な情報を入れることができる注釈体系を作ることです。 また、効率性と精度を向上させるために自動化できる部分(seudo-labeling)と人間の入力が必要な部分(Labeling)を分離することが重要です。データを構築する時、自動化は必須の部分ですから。 このような過程は、パイロット作業を通じて足りない部分の内容を迅速に補強することがさらに重要です。

簡単に例を挙げて説明すると、この段階は、情報抽出(Information extraction)でどのような情報を抽出するか、オブジェクト名認識(name entity recognition)でどのようなentityをタグ付けするか、文書要約(document summarization)でどの程度情報を圧縮するか、機械翻訳(machine translation)で意訳あるいは直訳あるいは超越翻訳を行うかなどのデータポリシーを設計する過程であり、最も重要な段階の一つです。学界ではこのような情報がすでに既定義(pre-determined)されている状態で研究を進めますが、企業ではこのような情報さえも顧客のニーズによって新たに設計しなければなりません!

5. Prepare a Guideline(ガイドライン作成)

設計したデータ注釈体系を作業者あるいはクラウドソースに伝達するための文書化作業段階です。初めてこの課題に接する作業者の立場ですべてのエッジケース(edge case)を見ると、作業者の集中力が散漫になる可能性があるため、明確な目的と作業方法を盛り込んで文書の難易度をうまく調整する必要があります。データ構築目的の定義、使用用語の定義、データ構築時の考慮事項などをガイドラインに簡単に記載する必要があります。また、作業者に必須に公開すべき情報と付加的な情報が何であるかを事前に考慮する必要があり、ラベリング体系を説明する際には、必ず例を添付することをお勧めします。 また、構築と検収過程を通じて継続的に改訂し、何が変化したのかバージョン管理が必要です。

つまり、ガイドラインは以下のような順序で作成することをお勧めします。

  • Overview

    • データ構築目的の紹介

  • 用語の定義

  • ラベリングシステム

    • データ特性分類体系

    • データ注釈の方法と手順

    • データ注釈の形式と定義

    • データ注釈ツールの使い方

    • データ注釈完了後の管理方法

    • 不合格・合格基準

  • 注意事項

  • エッジケース

6. Recruit Annotators (作業者募集)

実際のデータを注釈する作業者を募集する段階です。効率的で正確な作業のためには、適切な試験を通じて作業者を採用することが重要です。 つまり、データセット構築ガイドラインと同様の試験を出題し、作業者の正確性とスピードを採用基準とする必要があります。 また、倫理的な部分についても考慮する必要があります。良いデータとは、作業者に正当な補償が行われたデータです。 したがって、作業者に正当な補償が行われたか、不必要な費用が支払われていないかも必ず考慮しなければなりません。

データ構築時、作業者を運営する方法によって3つのCaseに分けてみることができます。

  • 第一は、内部組織、つまり企業が自ら作業者を運営する場合です。この場合、データ品質に対する常時教育とフィードバックが可能ですが、データ作業環境のための運営費とインフラが必要です。ラベリング結果に対する工程間の緊密なフィードバックを要求する作業に適した運営方式です。

  • 二つ目は、アウトソーシング方式です。データ構築に専門的で知識と熟練度が要求される作業に適しており、高い業務専門性及び経験を保有する会社のノウハウを活用できるというメリットが存在します。 しかし、要件定義及び基準合意に多くの時間がかかるというデメリットが存在します。

  • 3つ目はクラウドソーシングです。短期間で大量のデータを処理しなければならない作業に適した方式です。 しかし、品質教育やフィードバックにおいて明確な限界が存在します。

7. Instruct Annotators (作業者教育)

ステップ5で作成したガイドラインを作業者に説明する段階です。この段階では、単にガイドラインだけを提供して理解度を確認する一方的なコミュニケーションよりも、作業者にできるだけ質問を引き出し、質問を整理する双方向のコミュニケーションが重要です。 つまり、作業者がラベリングの全体的な流れを理解できるようにすることが重要です。さらに、作業者が単純労働をするのではなく、目的を理解し、それに合わせて自然で論理的な流れに基づいてラベリングを行えるように支援することも重要です。

8. Data Labeling (データラベリング)

実際のデータを構築する段階です。作業者の言語的・認知的・視覚的な直観をデータに移す過程と表現することができます。 したがって、実際の作業者管理とともに、作業者ごとに異なる直観をもう少し普遍的な線で統一する方法などを各データセットに合わせて考案する必要があり、作業者との質疑応答を通じて進行状況の把握を超え、ガイドラインだけでは解決できないエッジケース(Edge Case)の把握が重要です。

また、よく設計されたData Labeling Toolを通じてデータをラベリングすることが重要です。 Data Labeling Toolを使用する際は、下記の3つの要素を考慮することをお勧めします。

  • Quality Control:一貫性のある正確なデータを生成できるかどうか。

  • Efficiency:時間を短縮して効率的にデータを簡単に構築できるかどうか。

  • Scalability:複数の作業者が同時に、大規模なデータを処理できるかどうか。

また、データ構築時には、2段階に分けて作業を進めることをお勧めします。 つまり、パイロット作業を行った後、本構築に突入することがデータの品質を高めることができる鍵です。本構築に入る前に小規模に構築する試験用データを構築し、データ設計時に発見できなかったイシューや問題点を事前に把握して改善する必要があります。 この過程を通じてガイドラインを補完及び改定した後、データセット構築目的を考慮して作業者を選定することができます。

その後、本構築時に期間内にデータセットが構築されるように作業日程及び作業者を管理し、中間検収を通じて正しくデータがラベリングされているかどうかを継続的に確認し、良質のデータを生成する必要があります。

9. Data Internal Factor Verification (データ内在的要素検証)

作業者が構築したデータを自ら、または他の作業者が検収する段階です。人が作業を進めるので、当然発生する可能性のある間違いを修正し、判断が難しいエッジケース(Edge case)の場合は議論を通じて結論を導き出す作業です。 この段階はデータ品質を保証するために必ず経なければならない段階です。

この段階で必ず考慮しなければならないのが「Consensus Labeling」です。 つまり、データラベリングの一致度を確認する作業であり、Inter Annotator Agreement(IAA)という評価指標で確認することができます。作業者も人間なのでミスが存在する可能性があり、ガイドラインを誤って理解し、他の作業者とのラベリング結果が異常に異なる場合があります。このようなミスを検出して防止するために、IAAを通じてラベルの一致性を確認する必要があります。

結論として、Data Internal Factor Verificationはデータ作業物の内在的な要素に対する検証を行うものです。 しかし、この作業はデータ外的な要素、さらにモデルとデータ間の関係性(つまり、データが実際にモデルの性能向上に役立つデータかどうか)などに対する検証は行いません。これとは別に、当該段階に対する検証を行うData Extrinsic Factor Verification, Data evaluation through model verificationを追加的に説明したいと思います。

10. Data Extrinsic Factor Verification (データ外在的要素検証)

構築されたデータを検証する段階です。データ検証の際、まず、最終データがガイドラインに沿って作成されたかどうかを把握しなければなりません。 また、1) データの十分性(Sufficiency)、2) データの多様性(Diversity)、3) データの信頼性(Trustworthiness)、4) 個人情報及びセキュリティー、5) データ倫理適合性を追加的に検討しなければなりません。 つまり、データの内部的な情報からさらにデータの十分性、多様性、信頼性、セキュリティー、倫理性などを学際的に検討する段階です。 このような検証は、Institutional Review Boardまたは外部諮問委員会を通じて行うのが最善です。

11. Data Evaluation through Model Verification (モデルによるデータ品質評価)

実際のモデリングを通じてデータの品質を評価する段階です。データの量を増やしながらデータ効率(Data Efficiency)を見る実験、データの区間を分離してデータの品質一貫性を検証する実験などを通じて、全体的にデータが製作目標と要件に合うように製作されたかどうかを定量的に検証する段階です。 もし、この段階を進めながら、私たちの目的と一致しない部分があれば、作業者教育からデータ検証までの過程をもう一度経なければなりません。つまり、モデルを通じてエラーを発見し、人を通じてクリーニングを進めるhuman in the loop cycleが重要です。継続的なサイクルを通じてerror freeだけでなく、モデルの結果と合致する、つまりモデルの結果と有機性のあるデータを作ることが重要です。

12. Data Deliverables (データ配信)

最終的なデータ成果物を納品する段階です。 つまり、モデルチームや顧客企業に作業が完了したデータを納品する過程です。納品する際には、プロトコルに合わせたバージョン管理が重要で、データセットのラベル分布をはじめ、サンプルデータの形まで明らかにすることが重要です。さらに、EDAプロセスを経た後、データ分析書及び品質評価書を一緒に納品することをお勧めします。

ブログポスト1編で説明したIndustryで良いデータの尺度として「meta dataがどれだけ informativeか」、「(作業者に対する)正当な報酬が行われたデータ=作業者に正当な報酬を与え、不必要な費用が支払われないデータか」、「Versioning体系がよくできているか」、「データ保存構造が直感的ですっきりしているか」なども良いデータの尺度として見ることができるとお伝えしました。 これらの要素が組み合わさって、最終的にgood dataからgreat dataになります。

DMOpsの未来

それでは、今後のデータ関連研究はどのようなことを進めるべきでしょうか。 以前はモデルとモデルの競争であったのなら、今はモデルと人の競争です。だからこそ、より一層human gold standardが必要であり、これが基準点になるはずです。 さらに、superGLUEのように難易度が非常に高い領域に対するhuman gold standardデータを構築し、まだモデルが人の能力にはるかに及ばない様々なtaskを考えなければならないでしょう。つまり、データと人は必然的な関係です

その一方で、多くの部分を自動化する必要があります。人の役割を担う多くのステップに対して効率を付与して自動化作業を進めることが必要です。Self labelingを通じてモデルが予測した合成データを人が検収して、まるで本物の人がラベリングしたような効果を呼び起こすデータに対する研究を進めることが重要です。これは、ChatGPT、GPT-4などのようなLLMを利用してデータを自動生成する方案が考慮されるべきであることを意味します。

最後に、評価について深く検討する必要があります。人工知能の論文を見ると、定量評価に関する研究は非常に多く出ていますが、休眠評価に関する基準は非常に少ないです。ヒューマン評価に対する明確な基準と体系を設計することが重要だと思います。 また、テストセットを構築する際、単に正解だけをラベリングするのではなく、なぜこれが正解なのか、なぜこのようにラベリングしたのかについて説明できるデータを構築することも今後の重要な研究テーマの一つになると思います。

本ポストを通じて、高品質のデータを企業のニーズに合わせて効率的に製作することができ、汎用的に適用できるデータパイプラインであるDMOpsをご紹介しました。 アップステージの投稿を通じて、様々な企業でデータがどのように製作されるかを間接的に体験する良いきっかけになったことを願っています。

 
 
 
  • 2020年10月に設立したアップステージは、画像から目的の情報を抽出して利用できるOCR技術をはじめ、顧客情報と製品・サービスの特徴を考慮した推薦技術、意味ベースの検索を可能にする自然言語処理検索技術など、最新のAI技術を様々な業種にカスタマイズして簡単に適用できるノーコード・ロックコードソリューション「Upstage AI Pack」を発売し、顧客企業のAI革新を支援している。Upstage AI Packを利用すれば、データ加工、AIモデリング、指標管理を簡単に活用できるだけでなく、継続的なアップデートをサポートし、常時最新化されたAI技術を便利に使用することができる。また、AIビジネス経験を溶け込ませた実習中心の教育と堅実なAI基礎教育を通じて、AIビジネスに即座に投入できる差別化された専門人材を育成する教育コンテンツ事業にも積極的に取り組んでいる。

    アップステージはGoogle、Apple、Amazon、NVIDIA、Meta、Naverなどのグローバルビッグテック出身のメンバーを中心に、NeurPSをはじめ、ICLR、CVPR、ECCV、WWW、CHI、WSDMなど世界的権威のあるAI学会に多数の優秀論文を発表し、オンラインAI競進大会Kaggleで国内企業の中で唯一2桁の金メダルを獲得するなど、独自のAI技術リーダーシップを確立している。アップステージのキム・ソンフン代表は、香港科学技術大学教授として在職しながら、ソフトウェア工学と機械学習を融合したバグ予測、ソースコード自動生成などの研究で最高の論文賞であるACM Sigsoft Distinguished Paper Awardを4回受賞し、International Conference on Software Maintenanceで10年間最も影響力のある論文賞を受賞した世界的なAIの教祖と言われ、合計700万ビュー以上を記録した「みんなのためのディープラーニング」講師としても広く知られている。また、アップステージの共同創業者には、Naver Visual AI / OCRをリードし、世界的な成果を出したイ・ヒョルソクCTOと世界最高の翻訳機パパゴのモデルチームをリードしたパク・ウンジョンCSOが参加している。

    アップステージのホームページへ

 
先の
先の

AskUp レモンスパークルハイボール発売【アップステージXブルグルー

次に
次に

New, AskUp - 愛されているブランドをリニューアル(リブランディング)