해당 포스트에서는 Google Responsible AI에 대해 소개합니다.
Responsible AI?
AI의 발전은 비즈니스, 의료, 교육 등 전 세계 사람들의 삶을 개선할 수 있는 새로운 기회를 창출하고 있습니다. 또한 이러한 시스템에 공정성, 해석 가능성, 개인 정보 보호 및 보안을 구축하는 최상의 방법에 대한 새로운 의문도 제기하고 있습니다.
이러한 의문은 아직 해결되지 않았으며, 실제로 연구 및 개발의 활발한 영역입니다. Google은 AI의 책임 있는 개발에 진전을 보이고 지식, 연구, 도구, 데이터셋 및 기타 리소스를 더 큰 커뮤니티와 공유하기 위해 노력하고 있으며, 해당 포스트에서는 Google의 현재 작업 및 권장 작업 방식 중 일부를 공유합니다.
AI 권장 사례
신뢰할 수 있고 효과적인 사용자 중심 AI 시스템은 머신러닝 고유의 고려 사항을 해결하는 방법과 함께 소프트웨어 시스템에 대한 일반적인 모범 사례를 따라 설계되어야 합니다. Google의 주요 권장 사항은 아래와 같습니다.
1. Use a human-centered design approach
인간 중심의 디자인 접근 방식 사용
실제 사용자가 시스템을 경험하는 방법은 예측, 권장 사항 및 의사결정의 진정한 영향을 평가하는 데 필수적입니다.
- 적절한 공시가 내장된 기능을 설계합니다. 명확성(clarity)과 제어력(control)은 좋은 사용자 경험을 위해 매우 중요합니다.
- 확대 및 지원을 고려합니다. 답변이 다양한 사용자 및 사용 사례를 충족할 가능성이 높은 경우 단일 답변을 생성하는 것이 적절할 수 있습니다. 다른 경우에는 시스템이 사용자에게 몇 가지 옵션을 제안하는 것이 가장 적절할 수도 있습니다. 기술적으로, 몇 개의 대답(예: P@3)에서 정확한 정밀도를 얻는 것보다 한 개의 대답(P@1)에서 좋은 정밀도를 얻는 것이 훨씬 더 어렵습니다.
- 설계 프로세스 초기에 잠재적 부정적 피드백을 모델링한 후, 전체 배치 전에 일부 트래픽에 대한 구체적인 실시간 테스트 및 반복을 수행합니다.
- 다양한 사용자 및 사용 사례 시나리오에 참여하고 프로젝트 개발 전과 개발 전반에 걸쳐 피드백을 통합합니다. 이를 통해 프로젝트에 대한 다양한 사용자 관점을 구축하고 기술 혜택을 받는 사람의 수를 늘릴 수 있습니다.
2. Identify multiple metrics to assess training and monitoring
교육 및 모니터링을 평가하기 위한 여러 메트릭 식별
하나가 아닌 여러 메트릭을 사용하면 다양한 종류의 오류와 경험 간의 균형을 이해하는 데 도움이 됩니다.
- 사용자 설문 조사의 피드백, 전반적인 시스템 성능 및 장단기 제품 상태(각각 클릭율과 고객 수명 값)를 추적하는 수량, 여러 하위 그룹에 걸쳐 분할된 거짓 긍정(false positive) 및 거짓 부정(false negative) 비율 등을 고려해 보십시오.
- 측정 지표가 시스템의 맥락(context)와 목표(goals)에 적합한지 확인합니다. 예를 들어, 화재 경보 시스템은 리콜(recall)이 높아야 합니다. 이는 가끔 허위 경보가 발생함을 의미하더라도 마찬가지입니다.
3. When possible, directly examine your raw data
가능하면 원시 데이터를 직접 검사하십시오.
ML 모델은 학습된 데이터를 반영하므로 원시 데이터를 주의 깊게 분석하여 이해했는지 확인하십시오. 예를 들어 중요한 원시 데이터를 사용하여 입력 데이터를 최대한 이해하면서 개인 정보를 보호해야 합니다(예: Aggregate, 익명 요약 계산).
- 데이터에 실수(mistakes)(예: 결측값, 잘못된 레이블)가 포함되어 있습니까?
- 데이터를 샘플링하여 사용자를 나타내는 방식으로(예: 모든 연령대에 사용되지만 노인 교육 데이터만 있음) 실제 설정(예: 연중 사용 가능하지만 여름 교육 데이터만 있음)하고 있습니까? 데이터가 정확합니까?
- 학습 성능(Training Performance)과 서비스 성능(Serving Performance)의 차이의 왜곡은 지속적인 과제입니다. 학습 중에는 학습 데이터 또는 객관적 기능 조정을 포함하여 잠재적인 편향(skew)를 식별하고 이를 해결하기 위해 노력합니다. 평가 중에 배포된 설정을 최대한 대표하는 평가 데이터를 계속 가져옵니다.
- 모델에 중복되거나 불필요한 기능이 있습니까? 성능 목표를 충족하는 가장 간단한 모델을 사용합니다.
- 감독되는 시스템의 경우 보유한 데이터 레이블과 예측하려는 항목 간의 관계를 고려합니다. 데이터 레이블 X를 대신(proxy) 사용하여 레이블 Y를 예측하는 경우 X와 Y 사이의 간격에 문제가 있습니까?
- 데이터 편견(Data bias)은 또 다른 중요한 고려 사항입니다. AI와 공정성에 대한 실무에 대해 자세히 알아보십시오.
4. Understand the limitations of your dataset and model
데이터셋 및 모델의 한계를 이해합니다.
- 상관 관계를 탐지하도록 훈련된 모형을 인과적 추론을 하거나 그럴 수 있음을 암시하는 데 사용해서는 안 됩니다. 예를 들어, 당신의 모델은 농구화를 사는 사람이 평균 키가 더 크다는 것을 알 수 있지만, 결과적으로 농구화를 사는 사용자가 키가 더 커진다는 것을 의미하지는 않습니다.
- 오늘날 기계 학습 모델은 대부분 교육 데이터의 패턴을 반영합니다. 따라서 교육의 범위와 적용범위를 전달하여 모델의 역량과 한계를 명확히 하는 것이 중요합니다. 예를 들어, 스톡 사진으로 훈련된 신발 감지기는 스톡 사진으로 가장 잘 작동하지만 사용자가 생성한 휴대폰 사진으로 테스트할 경우 기능이 제한됩니다.
- 가능한 경우 사용자에게 제한 사항을 전달합니다. 예를 들어, ML을 사용하여 특정 조류 종을 인식하는 앱은 모델이 세계의 특정 지역에서 가져온 작은 이미지 세트에 대해 교육받았다고 통신할 수 있습니다. 사용자를 보다 효과적으로 교육함으로써 기능 또는 응용 프로그램에 대해 사용자로부터 제공되는 피드백을 개선할 수도 있습니다.
5. Test, Test, Test
테스트, 테스트, 테스트
소프트웨어 엔지니어링(software engineering) 모범 테스트 기준 및 품질 엔지니어링(quality engineering)에서 학습하여 AI 시스템이 의도한 대로 작동하고 신뢰할 수 있는지 확인합니다.
- 엄격한 장치 테스트를 수행하여 시스템의 각 구성 요소를 격리된 상태로 테스트합니다.
- 통합 테스트를 수행하여 개별 ML 구성 요소가 전체 시스템의 다른 부분과 어떻게 상호 작용하는지 파악합니다.
- AI 시스템에 대한 입력의 통계를 테스트하여 입력 드리프트를 사전 예방적으로 감지하여 예상치 못한 방식으로 변경되지 않는지 확인합니다.
- 골드 표준 데이터 세트를 사용하여 시스템을 테스트하고 시스템이 계속 예상대로 작동하는지 확인합니다. 변화하는 사용자 및 사용 사례에 따라 이 테스트 세트를 정기적으로 업데이트하고 테스트 세트에 대한 교육 가능성을 줄입니다.
- 개발 주기에 다양한 사용자 요구를 통합하기 위해 반복적인 사용자 테스트를 수행합니다.
- poka-yoke의 품질 엔지니어링 원칙을 적용합니다. 즉, 의도하지 않은 고장이 발생하거나 즉각적인 응답을 트리거할 수 없습니다(예: 중요한 기능이 예기치 않게 누락된 경우 AI 시스템이 예측을 출력하지 않습니다).
6. Continue to monitor and update the system after deployment
배포 후 시스템을 계속 모니터링하고 업데이트합니다.
지속적인 모니터링을 통해 모델은 실제 성능 및 사용자 피드백(예: 행복 추적 설문 조사, 하트 프레임워크)을 고려하게 됩니다.
- 이슈는 발생할 것입니다 : 세상의 대부분 모델은 불완전합니다. 제품 로드맵에 시간을 더하여 문제를 해결할 수 있습니다.
- 단기 및 장기적 문제 해결 방법을 모두 고려합니다. 간단한 수정(예: 블랙리스트 작성 또는 화이트리스트 작성)은 문제를 신속하게 해결하는 데 도움이 될 수 있지만 장기적으로 최적의 해결책은 아닐 수 있습니다. 단기적인 단순 수정과 장기 학습된 솔루션의 균형을 맞추어야 합니다.
- 배포된 모델을 업데이트하기 전에 후보 모델과 배포된 모델이 어떻게 다른지, 업데이트가 전체 시스템 품질 및 사용자 환경에 어떤 영향을 미치는지 분석하십시오.
관련 링크
[1] Google Responsible AI practices