ML-뭐? ML-Bom의 개념과 활용에 대한 이해

모든 게시물

업계에서는 아직 SBOM에 대한 아이디어를 완전히 이해하지 못했고, 우리는 이미 ML-BOM(머신 러닝 자재 명세서)이라는 새로운 용어를 듣기 시작했습니다. 당황하기 전에 이러한 BOM을 생성해야 하는 이유, ML-BOM 생성의 어려움, ML-BOM의 모양을 이해해 보겠습니다.

이 블로그를 읽으면서 이 기사가 AI로 생성되었는지 자문해 볼 수 있습니다. 그 이유는 AI가 우리 주변에 있어 인간이 만든 인공물과 구별하기 어렵기 때문이다. 그러나 AI의 급속한 발전은 개인적, 상업적, 사회적 위험을 야기하며 이러한 위험을 제한하기 위한 법률이 제정되기 시작했습니다. EU AI 법. 이러한 위험을 깊이 파고드는 것은 이 기사의 범위를 벗어납니다. 그러나 몇 가지만 언급하자면 AI 기반 시스템은 물론 IP, 라이선싱 및 사이버 시스템에는 안전하지 않고 차별적이며 개인 정보를 침해하는 행위의 위험이 있습니다. -보안 위험.

이러한 위험을 처리하는 첫 번째 단계는 각 시스템 내에서 어떤 AI 기술이 사용되는지 파악하는 것입니다. 이러한 지식을 통해 이해관계자는 위험을 관리하고(예: 데이터 세트 및 모델의 라이선스를 파악하여 법적 위험 관리) 이러한 기술에 관한 새로운 결과에 대응할 수 있습니다(예: 모델이 차별적인 것으로 판명되면 이해관계자는 모든 정보를 매핑할 수 있음). 위험을 완화하기 위해 이 모델을 사용하는 시스템). 

진화하는 규제를 살펴보고 검토 대통령령 13960 "연방 정부에서 신뢰할 수 있는 인공 지능 사용 촉진"에서는 책임성, 투명성, 책임, 추적성 및 규제 모니터링과 같은 원칙을 밝힙니다. 이 모든 원칙에는 각 시스템에서 어떤 AI 기술이 사용되는지 이해해야 합니다.

ML-BOM은 제품 내 AI 기술에 대한 문서입니다. SBOM 버전 1.5 이상에 대해 잘 알려진 OWASP 형식인 CycloneDX는 이를 지원하며 이제 ML-BOM의 표준입니다.

ML-BOM을 생성하는 것은 어렵습니다. 모델과 데이터 세트를 표현하는 방법은 다양합니다. AI 모델과 데이터 세트는 즉시 소비될 수 있으며, 어떤 모델을 사용할지 결정하는 것은 표준 구성 요소 분석 기술에 대한 흔적을 남기지 않고 즉시 프로그래밍 방식으로 이루어질 수 있습니다. 이러한 과제 외에도 AI는 소프트웨어 패키지 관리자의 성숙도와는 대조적으로 여전히 신흥 기술입니다. 따라서 업계에서는 아직 ML-BOM의 요구 사항을 완전히 이해하지 못하고 있습니다.  

출발점으로 우리는 사실상의 표준인 HuggingFace를 사용하는 프로젝트의 ML-BOM 생성에 집중하기로 결정했습니다. HuggingFace는 AI 모델 및 데이터 세트를 위한 "패키지 관리자"이며 인기 있는 Python 라이브러리와 함께 제공됩니다. 다음은 해당 제품에서 자동으로 생성된 SBOM의 몇 가지 스냅샷입니다.

많은 구성요소로 구성된 제품을 상상해 보십시오. 그 중 일부는 기계 학습 모델입니다. 아래 CycloneDX 구성요소는 이러한 모델을 설명합니다.

머신러닝 모델 구성요소

기계 학습 모델 구성 요소(1부) – 표준 CycloneDX 구성 요소 데이터

이 구성 요소는 모델을 식별하고 이 모델에 대한 정보를 추가로 탐색할 수 있는 링크를 제공합니다. 또한 규정 준수 목적으로 사용할 수 있는 라이센스 정보도 포함되어 있습니다.

CycloneDX V1.5는 또한 기계 학습 모델 속성을 문서화하는 표준 방법으로 "modelCard"라는 AI 관련 필드를 정의합니다. 다음은 우리가 만든 modelCard의 예입니다. 

머신러닝 모델 구성요소

기계 학습 모델 구성 요소(2부) – 데이터 카드

이러한 modelCard의 사용 사례는 이미지 분류 모델을 사용하는 모든 제품을 찾거나 특정 모델 유형 사용을 금지하는 정책을 실행하는 것일 수 있습니다. 

CycloneDX를 사용하면 구성 요소 트리(하위 구성 요소 계층 구조)를 문서화할 수 있습니다. HuggingFace는 AI 패키지 관리자로서 AI 모델 및 데이터 세트를 git-repos로 표현하므로 AI 모델/데이터 세트의 파일을 머신러닝 모델 구성 요소의 하위 구성 요소로 문서화하기로 결정했습니다. 다음과 같이 보입니다.

머신러닝 모델 구성요소

기계 학습 모델 구성 요소(3부) – 하위 구성 요소

속성에는 표준 파일 정보 외에도 보안 정보와 같은 추가 정보가 포함됩니다. 이 경우 두 가지 보안 조치가 있습니다.

  1. 바이러스 검사 – 바이러스에 취약한 데이터 세트(예: 이미지, PDF, 실행 파일)를 사용할 때 중요합니다.
  2. 피클 스캐닝 - "피클" 유형의 데이터 세트 파일에 관한 보안 위험 측정으로 위험이 더 높습니다(이 형식의 위험을 이해하려면 다음 설명을 참조하세요). 허깅페이스 웹사이트).

이 데이터는 바이러스 및 피클 검사가 성공적으로 통과되었는지 확인하는 정책을 시행하는 데 사용될 수 있습니다. 

ML-BOM은 새로운 개념입니다. 여기서 보여드리는 것은 첫 번째 단계입니다. 그러나 그럼에도 불구하고 우리는 AI의 채택, 규제 및 위험이 증가함에 따라 그것이 가져올 가치를 이해할 수 있습니다.

마지막으로 저는 수정구슬(일명 ChatGPT)에게 ML-BOM의 미래를 설명해달라고 요청했고, 그 대답은 다음과 같습니다.

“그리 멀지 않은 미래에 ML-BOM은 사이버에 능숙하고 자동 조종이 가능한 거장으로 진화하여 자동화의 재능으로 기계 학습 모델의 교향곡을 조율하는 동시에 CI/CD 파이프라인의 복잡한 부분을 탭댄스할 수도 있습니다. .”

글쎄, 아마도 ML-BOM 이상의 것이 필요할 수도 있습니다…

이 콘텐츠는 소프트웨어 공급망 전반에 걸쳐 코드 아티팩트와 코드 개발 및 전달 프로세스에 최첨단 보안을 제공하는 선도적인 엔드투엔드 소프트웨어 공급망 보안 솔루션 제공업체인 Scribe Security에서 제공합니다. 자세히 알아보기.