Upgrade to Pro — share decks privately, control downloads, hide ads and more …

メールとAIシリーズ:プライバシー保護のための次世代技術~NLPの未来と大規模言語モデル活用術

 メールとAIシリーズ:プライバシー保護のための次世代技術~NLPの未来と大規模言語モデル活用術

JPAAWG 7th General Meetingで2024-11-12に発表した内容です。
この資料の内容は主にNuwanさんがまとめてくれたものを日本語にして日本語の実行結果などを追加した物になります。

本講演では、メールセキュリティ事業者にとって重要なデータプライバシーと匿名化技術について、詳しく掘り下げて解説します。データ匿名化の基本的な概念や具体的な技術・手法を紹介し、その利点とトレードオフについても解説します。
さらに、小型言語モデルと大規模言語モデルの特徴、それぞれがメールデータの匿名化にどのように活用されるかについて説明します。特に、LLMにおけるプロンプトエンジニアリングの重要性とその具体的な手法を取り上げ、実際のプロンプトを使用したデモも行います。
また、LLMアダプター技術にも触れます。メールデータ匿名化における応用の可能性を検討し、実際のメールデータに適用した結果を紹介します。

HIRANO Yoshitaka

November 12, 2024
Tweet

More Decks by HIRANO Yoshitaka

Other Decks in Technology

Transcript

  1. 自己紹介 名前 平野 善隆 所属 Vade Japan 株式会社 Principal Messaging

    Engineer NLPとの関わり 奈良先端科学技術大学院大学 情報科学研究科 自然言語処理学 形態素解析器ChaSenの開発 趣味 世界の長距離の自転車大会(1,200kmとか、2,000kmとか) バンド演奏 主な活動 M3AAWG, JPAAWG, 迷惑メール対策推進協議会 Audax Randonneurs Nihonbashi
  2. 自己紹介 名前 ヌワン セネビラツナ 所属 株式会社クオリティア AI Engineer 学歴 筑波大学

    - Spatial Information Science (MSc) University of Colombo - Computer Science (BSc) 趣味 Gaming Singing
  3. Redaction 11 • Definition: • 個人情報を削除する • 目的: • 機密情報の保護

    • 特徴: • データが完全に削除される • 削除した場所がわかる • Use Cases: • 法的な書類、健康診断の結果、機密情報 など My name is John Doe. My name is .
  4. Replacement 12 • Definition: • 個人情報を固定文字列に置き換える • Purpose: • 機密情報をはっきりマスクする

    • Key Features: • 削除された部分が明確になる • 効果的に個人情報を隠せる • Use Cases: • 法的な書類、機密情報など John Doe [REDACTED]
  5. Truncation 13 • Definition: • 機密情報の一部を隠す • Purpose: • 文脈は残したまま個人情報を保護する

    • Key Features: • 置き換え文字列を使用 (*やXなど) • プライバシーと利便性のバランス • Use Cases: • 氏名、クレジットカード番号、メールアドレス John Doe J*** D**
  6. Randomization 14 • Definition: • ランダムな文字列と置き換える • Purpose: • 不可逆に匿名化する

    • Key Features: • 元のデータと関連がない • 元のデータを推測できない • Use Cases: • 高機密なデータ、匿名化されたテストデータ John Doe Bxqu Lmn
  7. Named/numbered replacement 15 • Definition: • 個人情報をラベルに変換する • Purpose: •

    識別情報を残したままデータを匿名化する • Key Features: • 一貫性のあるラベリング • 匿名化された情報の追跡が可能 John Doe [名前][名字]
  8. 固有表現抽出とは 19 • メールの重要情報を抽出・分類する • 氏名、メールアドレス、住所、etc.. • メールの個人情報保護に不可欠 • 固有表現抽出の手法

    • Rule-based. • Machine Learning. • Deep Learning. Taylor Swift is singing in a concert in Tokyo this coming December. Person Location Time
  9. メール内の個人情報 20 • Examples of Key Entities: • 氏名 •

    メールアドレス • 住所 • 電話番号 • 会社名 • クレジットカード番号 • 誕生日
  10. Small Language Modelとは? 22 • 特定のタスクに特化したモデル • 少ないパラメーター: • 計算コストが少なくて済む

    • Use Cases: • メールの分類、リアルタイム処理 • Examples: • Bert, GPT-2 Small, DistilBERT, XLM-RoBERTa
  11. Small Language Modelを使用した固有表現抽出 23 • Definition: • 名前、住所、日付などの固有表現を抽出する • Purpose:

    • 小さなモデルで高速に個人情報の抽出と匿名化を行う • Approach: • 小さなモデルを固有表現抽出タスク用にFine-tuneする • 個人情報を識別できるようにモデルを学習する • メール匿名化のモデルとして適用
  12. Small Language Modelのいいところ 24 • 処理が速い: • 軽量でリアルタイムな匿名化処理に最適 • 計算コストが低い:

    • 小さなデバイスや少ないリソースで動作可能 • 学習がタスクに特化しやすい: • メール処理に特化したfine-tunedがやりやすい
  13. Small Language Modelの限界 25 • 容量が限られる: • 複雑な構造を理解するのは苦手 • 精度の高いラベル付データが必要:

    • 効果を発揮するにはきちんとラベル付けされたデータが必要。 人手ででやるのはほんとに大変。 • 特定のタスクへの特化: • 特定のタスクにFine-tuneされているので、汎用性は低い • Examples: • 長文のメールでは情報や文脈を取りこぼすかもしれない
  14. Small Language Modelを使う場面 26 • Real-Time Processing: • リアルタイムの匿名化や高速にデータを抽出するタスクに最適 •

    Resource Constraints: • ハードウェアや予算に制限がある場合に有効 • High-Volume Data: • あまり複雑ではないが大規模なデータを処理する場合に有効
  15. Large Language Modelとは 28 • 数十億のパラメーターで構成 • Understand: • 複雑な文章

    • 微妙なニュアンス • Examples: • GPT-4 • LLama • Claude 3 • Gemini
  16. Large Language Modelの限界 30 • High Computational Costs: • 効果的に運用するには大規模なハードウェアとリソースが必要

    • Slower Processing Times: • 大規模なデータの匿名化には処理時間が長くかかる • Risk of Overfitting: • 新しいデータや多様な形式に対応するために慎重なfine-tuningが必要 • Risk of Hallucination: • ハルシネーションを起こさないような慎重なプロンプトの作成が必要 • LLMはすぐにそれっぽい嘘をつく
  17. Prompt Engineeringとは 33 • Definition: • 欲しい結果が出力されるようにAIモデルに対しての入力を設計する • Purpose: •

    モデルの出力と精度を向上 • Key Elements: • 明確な指示 • 文脈と例示 • Benefits: • 精度の向上、出力のカスタマイズ
  18. Prompt Engineeringの手法 34 • Basic Prompt • One-Shot Learning •

    Few-Shot Learning • Task-Specific Prompting • Role Prompting • Chain of Thought (COT)
  19. Basic Prompt 35 • Definition: • 単純な指示をモデルに与える • Purpose: •

    タスクを完了させるための明確で簡潔なガイダンスを与える • Example: • 「以下の文章から個人情報を抽出してください」 • Key Elements: • 直接的で簡潔 • ひとつのタスクに集中させる
  20. Basic Prompt 例 36 以下の文章から個人情報を抽出してく ださい -- 平野 善隆様 ふるさと納税の寄付申込み、ありがとうございます。担当の田

    原俊彦と申します。 下記住所に神戸牛40kgを送付させていただきます。 〒100-0004 東京都千代田区大手町一丁目9番2号 Vade Japan株式会社 担当泉田様 11月13日午前中の到着となります。 よろしくお願いいたします。 以下が抽出された個人情報です: 氏名 • 平野 善隆 • 田原 俊彦 • 泉田 住所 • 〒100-0004 • 東京都千代田区大手町一丁目9番2号 企業名 • Vade Japan株式会社 配送予定日 • 11月13日午前中 これらの情報は個人名、住所、会社名、日時に関す るものであり、個人情報やプライバシーに配慮が必 要な内容です。
  21. One-Shot Learning 例 38 以下の文章の個人情報を匿名化してください: '山田 太郎の住所は東京都練馬区です' → '[秘密]の住所 は[秘密]です'

    -- 平野 善隆様 ふるさと納税の寄付申込み、ありがとうございます。 担当の田原俊彦と申します。 下記住所に神戸牛40kgを送付させていただきます。 〒100-0004 東京都千代田区大手町一丁目9番2号 Vade Japan株式会社 担当泉田様 11月13日午前中の到着となります。 よろしくお願いいたします。 [秘密]様 ふるさと納税の寄付申込み、ありがとうございます。 担当の[秘密]と申します。 下記住所に神戸牛40kgを送付させていただきます。 〒[秘密] [秘密]株式会社 担当[秘密]様 11月13日午前中の到着となります。 よろしくお願いいたします。
  22. Few-Shot Learning 例 40 以下の文章の個人情報を匿名化してください: 例: - '山田太郎の住所は東京都練馬区です’ → '[秘密]の住所は[秘密]です'

    - '〒100-1111' → '〒[秘密]' -- 平野 善隆様 ふるさと納税の寄付申込み、ありがとうございます。担当の田原俊彦 と申します。 下記住所に神戸牛40kgを送付させていただきます。 〒100-0004 東京都千代田区大手町一丁目9番2号 Vade Japan株式会社 担当泉田様 11月13日午前中の到着となります。 よろしくお願いいたします。 [秘密]様 ふるさと納税の寄付申込み、ありがとうございます。 担当の[秘密]と申します。 下記住所に神戸牛40kgを送付させていただきます。 〒[秘密] [秘密][秘密][秘密] [秘密]株式会社 担当[秘密]様 11月13日午前中の到着となります。 よろしくお願いいたします。
  23. Task-Specific Prompting 例 42 You are expert in Japanese Language

    and expert in PII detection. Instructions: - Your task is extracting the PII information. - Only use the information provided in the text, do not make any assumptions or add additional details. - What are the names of the people mentioned in the text - What are the addresses mentioned in the text? - What are the prefectures mentioned? -- 平野 善隆様 ふるさと納税の寄付申込み、ありがとうございます。担当の田原俊彦と申します。 下記住所に神戸牛40kgを送付させていただきます。 〒100-0004 東京都千代田区大手町一丁目9番2号 Vade Japan株式会社 担当泉田様 11月13日午前中の到着となります。 よろしくお願いいたします。 Names of People: - 平野 善隆 - 田原 俊彦 - 泉田 Addresses: - 東京都千代田区大手町一丁目9番2号 Prefectures: - 東京都
  24. Role Prompting 43 • Definition: oAIに役割や視点を与えるテクニック • Purpose: oAIが文脈に合った結果を生成するようにする •

    Examples: oImagine you are lawyer. Explain Basic steps involved in filing lawsuit. oYou are a financial advisor. Provide advice on budgeting. • Benefits: o専門的なタスクやシナリオに合った結果を返す。
  25. Chain of Thought (CoT) 44 • Definition: o推論を段階的に行わせるテクニック • Purpose:

    o特に複雑なタスクに対して問題を明確にし、正答率を上げる • Benefits: o構造的に推論させることでエラーが減り正答率が上がる o中間のステップを理解できる o推論の間違いを見つけやすくなり、プロンプトを修正しやすくなる
  26. CoT – 例 45 • Cotのない場合: oIf 5 people each

    have 7 apples, how many apples are there in total? oOutput: "There are 35 apples." • CoTがある場合: oIf 5 people each have 7 apples, how many apples are there in total? Let's think through this step by step. oOutput: "Each person has 7 apples. There are 5 people, so 5 × 7 = 35. Therefore, there are 35 apples in total."
  27. Why Use Prompt Engineering? 46 • Guides the Model: •

    特定のタスクにフォーカスさせることでよりよい結果が出る • Flexible and Adaptable: • 特定の個人情報を抽出するなど様々なタスクに適応できる • Improves Results: • 要求が明らかになりエラーが減る
  28. Example Email 48 平野 善隆様 ふるさと商店をご利用いただき、誠にありがとうございま す。 ふるさと納税の寄付申込みを受付けました。 お申込みいただき、ありがとうございました。 申込番号:

    943320567164 以下、お客様の入力内容です。 --------------------------------------------- ▼ 寄付者情報 メールアドレス: [email protected] 氏名: 平野 善隆 ふりがな: ひらの よしたか 郵便番号: 103-0025 都道府県: 東京都 住所: 中央区日本橋茅場町3-11-10 電話番号: 03-5623-2530 ▼ お礼の品と寄付金額 お礼の品: 松坂牛 40キロ 三重県 御浜町 1個 12,000円 ----------------------------------- 合計寄付金額: 12,000円 ▼ お支払い方法 お支払い方法: クレジットカード払い カードの種類: VISA カード番号: 4012 8888 8888 1881 カード名義: Yoshitaka Hirano 【お問合せ先】 御浜町ふるさと納税サポート室 TEL:050-3100-1730 受付時間 9:00~18:00 (土曜日・日曜日・祝日及び12月29日 ~1月3日を除く) <メールでのお問合せ> [email protected]
  29. Example 50 Entity Basic Prompt Role + Q&A Prompt Role

    + Q&A + 1-Shot Prompt 平野 善隆 Detected Detected Detected 申込番号: 943320567164 Not Detected Not Detected Detected yoshitaka.hirano@hornetsecuri ty.com Detected Detected Detected 平野 善隆 Detected Detected Detected ひらの よしたか Not Detected Not Detected Detected 103-0025 Detected Detected Detected 東京都 Detected Detected Detected 中央区日本橋茅場町3-11-10 Detected Not Detected Detected 03-5623-2530 Detected Detected Detected 三重県 Not Detected Not Detected Detected
  30. Example 51 Entity Basic Prompt Role + Q&A Prompt Role

    + Q&A + 1-Shot Prompt 御浜町 Not Detected Detected Detected 4012 8888 8888 1881 Detected Detected Detected Yoshitaka Hirano Not Detected Detected Detected 御浜町ふるさと納税サポート室 Not Detected Detected Detected 050-3100-1730 Not Detected Not Detected Detected [email protected] Not Detected Not Detected Detected
  31. Improving LLMs 53 • RAG (Retrieval Augmented Generation) o外部から取得した情報を使ってモデルの精度を上げる •

    LLM Adapters oタスクに特化した効率的にfine-tuningするための軽量モジュール
  32. Retrieval Augmented Generation 54 • What is RAG? oDefinition: ▪

    LLMを外部の知識と組み合わせて強化する手法 oCore Concept: ▪ 外部データを保存 → データを取り込み → 応答を 生成し返す oKey Benefit: ▪ 静的LLMの学習当時の知識と現在の知識との ギャップや特定の知識とのギャップを埋める oPopular https://levelup.gitconnected.com/the-best-rag- technique-yet-anthropics-contextual-retrieval-and- hybrid-search-62320d99004e
  33. Safer RAG 55 • 機密情報の匿名化でRAGを安全に使う: oPre-processing: ▪ RAGの知識ベースに追加する文書から機密情報を削除する oRuntime checking:

    ▪ コンテンツに機密情報が結果に含まれていないことを確認する oOutput filtering: ▪ 念のため、結果に機密情報が含まれていないかを確認する
  34. LLM Adapterとは 57 • Definition: • 特定のタスク用に大規模言語モデルをfine-tuneする軽量モジュール • Purpose: •

    モデル全体を再学習せず 特定の能力を向上させる https://bobrupakroy.medium.com/introduction-to-the-various-types-of-adapters-in-large-language-models-llms-e9e9662f65ec
  35. PEFT (Parameter-Efficient Fine-Tuning) 58 • PEFT (Parameter-Efficient Fine-Tuning): • モデルのパラメーターの一部だけを更新する

    • メモリや計算のリソースが少ない • LoRA (Low-Rank Adaptation): ▪ モデルの重みを調整するためにlow-rank行列を使用 ▪ 計算のオーバーヘッドを最小にする https://blog.dailydoseofds.com/p/full-model-fine-tuning-vs-lora-vs
  36. まとめ 61 • メールから機密情報を取り除くことでメールデータを扱いやす くなる • 固有表現抽出 の技術で情報抽出できる • Small

    Language Modelは速い、安いが、準備が大変 • Large Language Modelは遅い、高いが、準備は楽で柔軟 • LLMの精度を上げる技術 • プロンプトエンジニアリング • RAG • LLM Adapter