広告

[P] MLパイプラインのためのUnix哲学:型付きの契約によるモジュール化、差し替え可能なステージ

Reddit r/MachineLearning / 2026/3/31

💬 オピニオンDeveloper Stack & InfrastructureIdeas & Deep AnalysisTools & Practical Usage

要点

  • 本記事では、Unix哲学をMLの検索(RAG)パイプラインに適用するオープンソースのプロトタイプを紹介し、型付きの契約にもとづいて処理をモジュール化された、差し替え可能なステージに分割します。
  • パイプラインの各ステップ(PIIの秘匿化、チャンク分割、重複排除、埋め込み、評価)を、パイプでつないだUnixツールのように独立したプラグインとして扱います。
  • 動機はデバッグ容易性の向上であり、(たとえばチャンクャーなどの)単一コンポーネントを差し替えて評価を再実行することで、精度/再現率の変化がどのステージによるものかを特定しやすくします。
  • 設計では、区切り文字を使った特徴量名の慣習(例:`docs__...__evaluated`)によりステージ境界をエンコードし、上流の選択肢が変わっても下流のコンポーネントが一貫性を保てるようにしています。
  • 著者らは、本プロジェクトがまだプロトタイプであることを強調しており、基盤となる設計上の前提が実運用で成り立つかどうかについてフィードバックを求めています。
私たちは、検索パイプラインにUnixの哲学を適用するオープンソースのプロトタイプを構築しました。各段階(PIIの秘匿、チャンク化、重複排除、埋め込み、評価)はそれぞれ、Unixのツール同士をつなぐパイプのように、型付きの契約(契約条件)を持つ独立したプラグインです。動機はこうです:チャンクャーを入れ替えたら検索結果が悪化したのですが、それがチャンク化のせいなのか、それとも下流で何かが壊れているせいなのかを切り分けられませんでした。各段階を独立して入れ替え可能にしていれば、1つのオプションを変更し、評価を再実行して、適合率/再現率を直接比較できます。 ```python Feature("docs__pii_redacted__chunked__deduped__embedded__evaluated", options={ "redaction_method": "presidio", "chunking_method": "sentence", "embedding_method": "tfidf", }) ``` それぞれの `__` は段階の区切りです。どの部品を入れ替えても、残りは同じままです。なお、これはプロトタイプであって本番(プロダクション)ではありません。設計上の前提が妥当かどうかについて、フィードバックを探しています。リポジトリ: [https://github.com/mloda-ai/rag_integration](https://github.com/mloda-ai/rag_integration) 
投稿者 /u/coldoven
[link] [comments]

広告