신뢰할 수 있는 데이터

Changsin Lee l Tech Evangelist l Testworks

인공지능(AI) 기술의 발전이 의료, 제조, 엔터테인먼트, 농업 등 우리 삶의 많은 영역에서 혁신적인 영향을 미치고 있습니다. 하지만 AI의 발전에는 새로운 문제도 함께 따릅니다. 우리는 최근 몇 년 간 편견, 정확성, 개인 정보 보호 및 보안 문제로 인해 AI의 윤리적, 법적 결과에 대해 걱정하게 되었습니다.

출처 : Dave Lowe, Unsplash

이러한 우려를 해결하기 위해 많은 정부 기관은 개발을 방해하지 않고 AI를 규제할 수 있도록 신뢰할 수 있는 AI에 대한 법적 프레임워크를 작성하기 시작했습니다. 2016년 GDPR(일반 데이터 보호 규정)을 통한 데이터 보호와 마찬가지로 EU는 신뢰할 수 있는 AI에 대한 윤리 지침(2019), 인공 지능에 대한 백서 — 우수성과 신뢰에 대한 유럽의 접근 방식(2020) 및 데이터에 대한 유럽 전략(2020)을 발표하여 신뢰할 수 있는 AI에 대한 세계를 주도했습니다. 미국에는 알고리즘 책임법(2019)이라는 유사한 조치가 있습니다.

이러한 규제 노력에 힘입어 연구자들은 신뢰할 수 있는 AI의 다양한 측면에 대해 연구하기 시작했습니다. 이 블로그 글에서는 신뢰할 수 있는 AI에 대한 기존 문헌 중 일부를 소개하고 신뢰할 수 있는 AI를 구축하기 위한 프레임워크를 제안하려고 합니다. 신뢰할 수 있는 AI는 AI의 세 가지 구성 요소인 모델, 데이터, 코드에 해당하는 세 가지 방식으로 다루어야 하며 데이터 품질은 신뢰할 수 있는 AI 구축의 초석이 됩니다.

신뢰할 수 있는 AI에 대한 EU의 위험 기반 접근 방식

EU의 윤리 지침(2019)은 신뢰할 수 있는 AI를 다음과 같이 정의합니다.

  1. 합법적: 모든 해당 법률 및 규정을 준수합니다.

  2. 윤리적: 윤리적 원칙과 가치를 존중합니다.

  3. 견고함: 사회적 환경을 고려하면서 동시에 기술적 관점에서도 견고합니다.

이 넓은 정의에 따라 네 가지 윤리적 원칙이 도출됩니다.

  1. 인간의 자율성 존중

  2. 위해 방지

  3. 공정성

  4. 설명 가능성

이러한 원칙을 적용하기 위해 후속 백서(2020)에서는 AI를 4가지 범주로 분류하여 위험 기반 접근 방식을 설명합니다.

위험 기반 접근 방식 중 중심은 의료 기기, 채용, 교육, 생체 인식, 법 집행 등을 포함하는 고위험 AI에 둡니다. 이 분야의 AI 시스템은 위험을 평가하고 다음의 요구 사항을 충족해야 합니다.

  1. 고품질 데이터: 고품질의 교육, 검증 및 테스트 데이터(관련 있는, 대표하는 등)를 사용합니다.

  2. 문서화 및 로깅: 문서화 및 설계 로깅 기능(추적성 및 감사 가능성)을 설정합니다.

  3. 투명성: 적절한 정도의 투명성을 보장하고 시스템 사용 방법에 대한 정보를 제공합니다.

  4. 인적 실수에 대한 감독을 보장합니다.

  5. 견고성, 정확성사이버 보안을 보장합니다.

신뢰할 수 있는 AI에 대한 EU의 접근 방식의 기여는 신뢰할 수 있는 AI의 모호한 개념을 구체화하고 실제 AI 응용 프로그램을 평가하는 데 적용할 수 있게 했다는 것입니다. 견고성, 투명성 및 설명 가능성과 같은 요구 사항은 다른 연구 논문 및 신뢰할 수 있는 AI에 대한 요구 사항에서도 찾을 수 있습니다. 예를 들어 Trustworthy AI: A Computational Perspective(2021)에서 EU의 요구 사항과 크게 겹치는 요구 사항을 확인할 수 있습니다.

  1. 안정성 & 견고성

  2. 차별금지 & 공정성

  3. 설명 가능성

  4. 개인정보 보호

  5. 책임 & 감사

  6. 환경 웰빙

EU 요구 사항은 인간 중심 AI와 데이터 품질을 강조합니다.

제한 사항

EU 규정은 Trustworthy by AI에 대한 좋은 프레임워크를 제공하지만 몇 가지 제한 사항이 있습니다.

첫째, 이 규정은 AI 개발의 고도화된 실험적인 특성을 고려하지 않습니다. 전통적인 소프트웨어는 기술 사양의 형태로 요구 사항을 수집하고 설계 사양을 작성하여 개발됩니다. 반면에 AI 시스템은 많은 시행착오를 수반하며 때로는 더 나은 아키텍처를 위해 모델을 완전히 포기하게 됩니다. 초매개변수 또는 훈련 데이터 분포에 대한 약간의 변형은 완전히 다른 동작으로 이어질 수 있습니다. 예측 행동이 지속적으로 진화하는 경우 요구 사항을 규정하기가 어렵습니다.

둘째, 이 규정은 다양한 AI 시스템에 대해 우선 순위를 지정하고 절충하는 방법에 대한 적절한 지침을 제공하지 않고 요구 사항을 요구합니다. 예를 들어 의료 기기에서는 사이버 보안보다 정확성이 더 중요할 수 있지만 얼굴 인식 시스템에서는 공정성이 더 중요할 수 있습니다.

셋째, 이 규정은 충족해야 하는 방법과 측정 기준을 지정하지 않고 요구 사항을 설정했습니다. 예를 들어 얼굴 인식 시스템의 정확도는 교육용 AI와 다를 수 있습니다. 각 유형의 시스템에 대해 허용 가능한 정확도 수준에 대해 설명합니다.

이 규정은 현재 개발 중인 분야를 통제하기 위한 것이므로 몇 년 안에 세부 사항과 개선 사항이 개발될 것으로 기대합니다. 그 동안 신뢰할 수 있는 AI를 개발하는 데 사용할 수 있는 작업 프레임워크가 필요합니다. 아래는 이에 대한 제안입니다.

모델, 데이터, 그리고 코드

AI는 하나의 단일체가 아닙니다. 최종 사용자에게 보이는 것은 소프트웨어일 뿐이지만 세 가지 구성 요소로 나눌 수 있습니다.

  1. 모델: 모델에는 알고리즘, 아키텍처, 하이퍼파라미터 및 가중치가 포함됩니다. 소프트웨어의 형태로 수납되지만 기존의 소프트웨어 제품과 달리 AI 시스템은 모델에 따라 매우 다르게 동작하므로 코드(소프트웨어)에서 모델을 분리하는 것이 좋습니다.

  2. 데이터: 일단 모델이 결정되면 AI의 성능은 데이터에 크게 의존합니다. ‘Garbage in, garbage out’이라는 유명한 격언처럼 데이터의 중요성은 아무리 강조해도 지나치지 않습니다. 보다 최근에는 데이터 중심 접근 방식으로 AI의 성능을 향상시키기 위해 데이터에 초점을 맞추고 있습니다. 신뢰할 수 있는 AI에도 데이터 중심적 접근이 필요하다고 주장하고 싶습니다.

  3. 코드: 코드는 모델이 배송되는 소프트웨어 컨테이너입니다. 대부분의 AI 문헌에서 모델에는 소프트웨어도 포함되어 있으므로 해당 모델에서 소프트웨어를 분리하는 것이 좋습니다. 그 이유는 기존 소프트웨어에 대한 방법론과 표준이 이미 잘 확립되어 있기 때문입니다(예: 신뢰할 수 있는 컴퓨팅). 반면에 AI 모델은 완전히 다르게 작동합니다. 간단히 말해 기존 소프트웨어는 아무리 복잡하더라도 규칙 기반입니다. 반면에 AI 모델은 그렇게 쉽게 이해할 수 없으므로 투명하고 설명할 수 있어야 합니다.

AI를 세 가지 구성 요소로 나누면 각각에 적절한 방법을 사용하여 신뢰할 수 있는 AI를 구축할 수 있습니다. 위에서 설명한 것처럼 AI의 소프트웨어 측면에 초점을 맞춤으로써 우리는 이미 신뢰할 수 있는 컴퓨팅 기준과 방법을 통해 최상의 테스트 및 품질 설정 방법을 알고 있습니다. 신뢰할 수 있는 컴퓨팅의 4가지 기둥은 신뢰할 수 있는 AI에도 쉽게 적용할 수 있는 안정성, 보안, 개인 정보 보호 및 비즈니스 무결성입니다. 비즈니스 무결성은 신뢰할 수 있는 AI 요구 사항에 부합하도록 책임감과 투명함을 의미합니다.

모델의 기본 요구 사항은 해석 가능하고 설명 가능하다는 의미에서 투명성입니다. 기존 기계 학습 모델의 경우 사용된 알고리즘과 수학 함수를 표시하여 투명성 요구 사항을 쉽게 달성할 수 있습니다.

그러나 딥 러닝 모델의 경우 네트워크 아키텍처 및 교육 프로세스의 복잡성으로 인해 쉽지 않습니다. 종종 모델은 ‘블랙박스’로 간주되어 입력과 출력 외에는 아무것도 볼 수 없습니다. 이러한 ‘불투명한’ 모델의 경우 신뢰를 구축하기 위해 해석 가능성이나 설명 가능성에 의존할 수 없습니다. 대신 AI가 의도한 모든 경우에 작동할 수 있도록 하려면 견고성 및 다양성과 같은 다른 요구 사항에 의존해야 합니다.

신뢰할 수 있는 AI를 위한 데이터 중심 접근

위의 논의는 데이터가 신뢰할 수 있는 AI를 구축하는 데 가장 중요한 구성 요소라는 주장으로 이어집니다. 결론에는 세 가지 이유가 있습니다.

첫째, 위에서 보았듯이 많은 AI 모델의 복잡성은 투명성 요구 사항을 무시합니다.

둘째, 데이터 중심 AI는 데이터 품질이 AI 성능에 어떤 영향을 미치는지 보여주므로 정확성, 공정성 및 책임성과 같은 많은 신뢰할 수 있는 요구 사항을 충족하기 위해 가장 좋은 방법으로 데이터 품질에 초점을 맞추게 됩니다.

셋째, AI의 신뢰성을 검증하려면 가능한 모든 시나리오에 대해 AI를 테스트해야 합니다. AI를 테스트하려면 테스트 데이터가 필요합니다. 실제로 테스트 데이터가 실제 데이터와 교육 데이터의 분포를 반영하지 않는 한 테스트할 방법도 없고 의미도 없습니다.

결과적으로 품질 데이터는 신뢰할 수 있는 AI의 초석입니다.

단계적 데이터 품질

데이터 품질 측면에서 신뢰할 수 있는 AI 데이터를 정의한 후 다음 질문은 품질을 검증하는 방법입니다. EU 위험 기반 접근 방식을 사용하려면 출시 전에 고위험 AI에 대한 신뢰할 수 있는 평가가 필요합니다. 이 접근 방식의 잠재적인 문제는 품질을 일회성 체크리스트로 간주하는 경향이 있다는 것입니다.

소프트웨어 개발의 전통적인 폭포수 모델에서 테스트는 ‘사후’로 간주됩니다. 즉, 소프트웨어 개발이 완료된 후 수행하는 마지막 단계입니다. 개발의 순차적인 특성과 전체 프로세스의 경직성으로 인해 소프트웨어가 사용자 요구 사항과 디자인이 항상 변경되는 서비스 지향적이 되었을 때 폭포수 모델은 선호되지 않았습니다.

우리가 보았듯이 AI는 소프트웨어로 제공되지만 그 행동은 미리 결정된 규칙으로 설명될 수 없습니다. 특히 최근에 MLOps 파이프라인이 널리 사용되면서 끊임없이 진화하고 학습하는 유기체와 유사합니다.

소프트웨어 개발에서 애자일 운동은 폭포수 모델을 크게 대체하고 DevOps 파이프라인 개발로 절정에 달했습니다. AI 개발에서도 아직 발전 중이지만 비슷한 노력이 진행되고 있습니다. 민첩한 DevOps 파이프라인에 따라 AI는 반복적인 MLOps 파이프라인에서 개발됩니다. 일반적인 MLOps 파이프라인은 다음과 같습니다.

일반적인 MLOps 파이프라인

AI 개발의 반복적인 특성을 감안할 때 신뢰할 수 있는 AI를 단계적으로 생각하는 것이 합리적이므로 데이터 품질도 단계적으로 수행해야 합니다.

결과는 다음과 같이 단계적으로 정의된 데이터 품질입니다.

  1. 범위 지정: 프로젝트 계획 단계에서 대상 데이터 세트 수량, 배포(클래스 데이터 배포 방법), 품질 측정 기준을 정의하고 계획해야 합니다.

  2. 수집: 목표 수량 및 분포를 기준으로 신뢰할 수 있고 대표성이 있으며 균형 있고 다양하고 공정한 원시 데이터를 수집합니다.
    • 신뢰할 수 있음: 데이터는 합법적인 소스에서 가져오고 역추적할 수 있습니다.
    • 대표: 클래스 정의 및 해당 분포는 대상 도메인을 반영합니다.
    • 균형: 대상 도메인을 대표하는 것이 희귀 개체에 대한 목표 정확도를 달성하지 못할 수 있습니다. 목표 정확도를 위한 균형 잡힌 데이터 세트를 갖기 위해 마이너 클래스 객체의 오버샘플링, 더 큰 클래스 객체의 언더샘플링 또는 증대가 필요할 수 있습니다.
    • 다양함: AI가 다양한 경우에 잘 작동하도록 하려면 데이터가 중복 없이 최대한 다양해야 합니다.
    • 공정: 데이터에 암시적 및 명시적 편향이 있는지 확인해야 합니다. 고위험 AI의 경우 모델의 편향을 감지할 수 있는 테스트 데이터를 준비하는 것이 필수적입니다.

  3. 라벨링: 라벨링은 사람이 수행한 주석 및 리뷰를 의미합니다. 이 프로세스는 노동 집약적이며 인적 오류 및 불일치에 취약하므로 목표는 정확하고 일관된 데이터 세트를 구축하는 것입니다.
    • 정확함: 지정된 지침에 따라 주석이 정확하게 수행됩니다.
    • 일관성: 다른 주석자의 주석 결과가 허용 가능한 정확도 범위 내에 있습니다.

  4. 학습: 학습은 대부분 신뢰할 수 있는 모델 영역에서 이루어지므로 정의 기준은 투명성과 설명 가능성입니다.
    • 투명성: 모델의 아키텍처와 입력과 출력 간의 인과 관계를 이해할 수 있습니다. 문헌에서 사용되는 유사한 용어는 해석 가능성입니다. 그러나 저는 데이터의 추적 가능성(데이터의 출처, 수정 및 이동 방법)과 학습 프로세스 자체(초매개변수, 검증 및 테스트 셋 등)를 강조하기 위해 대신 투명성을 사용하고 있습니다.
    • 설명 가능성: 설명 가능성은 결정을 내릴 때 AI의 내부 작동을 설명할 수 있음을 의미합니다. 앞서 언급했듯이 이 요구 사항은 복잡하고 불투명한 모델에 대해 항상 쉽게 달성할 수 있는 것은 아니며 정확도와 같은 다른 요구 사항을 위해 절충해야 할 수도 있습니다.

  5. 테스트 및 출시: 학습이 완료되고 모델 동작이 검증된 후 AI 시스템을 소프트웨어로 테스트해야 합니다. 신뢰성, 보안, 개인 정보 보호 및 비즈니스 무결성에 대한 신뢰할 수 있는 컴퓨팅 요구 사항을 사용하고 정확성, 공정성 및 견고성을 테스트해야 합니다.

  6. 모니터링 및 피드백: AI 개발은 반복적인 프로세스이므로 제품 출시 후 동작을 모니터링하고 그에 따라 모델을 재평가 및 학습하는 메커니즘이 있어야 합니다. 주요 요구 사항은 추적 가능성과 책임입니다.
    • 추적 가능성: 테스트 중에 가능한 모든 시나리오를 테스트하는 것이 불가능하다는 점을 감안할 때 목표는 데이터가 어떻게 흐르고 생산에서 AI의 의사 결정 프로세스에 영향을 미치는지 추적하고 조사하는 것입니다.
    • 책임성: 모든 결정에 대해 책임이 있는 데이터, 구성 요소 또는 설계를 찾는 것이 가능해야 합니다.

AI 개발의 반복적인 특성은 신뢰할 수 있는 AI를 구축하는 것이 체크리스트가 아니라 실제로 프로세스라는 것을 의미합니다. 지속적인 모니터링, 피드백 및 재학습을 통해 새로운 데이터가 데이터 셋에 추가되어 AI를 보다 강력하고 정확하며 공정하게 만듭니다.

결론

이 글은 신뢰할 수 있는 AI를 주제로 한 설문조사를 기반으로 작성했습니다. EU의 윤리 및 데이터 전략 지침은 신뢰할 수 있는 AI를 구축하기 위한 좋은 토대를 마련했지만 일부 제한 사항도 검토했습니다. 신뢰할 수 있는 AI에 대한 데이터 중심 접근 방식은 이를 여러 구성 요소로 나누고 각각에 대해 잘 테스트된 방법을 적용하려는 시도입니다. 모델, 데이터 및 코드가 세 가지 구성 요소이며 데이터는 AI 개발의 모든 단계에서 중추적인 역할을 합니다. AI는 여전히 우리에게 생소합니다. 우리는 AI의 능력, 법적, 윤리적 의미를 이해하는 과정을 막 시작했습니다. 사람 사이에서도 신뢰를 구축하는 데 시간이 걸리므로 신뢰할 수 있는 AI를 구축하는 프로세스와 방법을 지속적으로 개선하는 것이 중요합니다.