1. 시작하기 전에
이 Codelab에서는 People + AI Research (PAIR) 가이드북의 새로운 버전에 나온 권장사항을 적용하여 인간 중심의 데이터 관행과 적절하게 조정된 사용자 신뢰에 중점을 두고 AI로 새로운 제품을 설계합니다.
기본 요건
- AI에 관한 기본적인 이해
- 제품 개발 워크플로에 대한 지식
학습할 내용
이 Codelab에서는 Google Research의 People + AI Guidebook을 사용하여 신뢰할 수 있는 사용자 중심 AI 제품을 빌드하는 방법을 알아봅니다.
구체적으로 다음을 수행합니다.
- PAIR 가이드북 2판의 새로운 기능을 알아보세요.
- 데이터와 사용자 대상 설명 기능에 중점을 두고 사용자 신뢰를 조정하는 AI 개발 프로세스의 기회를 강조하는 일련의 연습을 진행합니다.
- 심화된 탐구를 위해 사용할 수 있는 광범위한 자료 및 리소스 툴킷을 소개합니다.
필요한 항목
- 브라우저
- Colaboratory 노트북을 볼 Google 계정 (예: BERT를 사용한 감정 분석)
2. 시작하기
올해 Google I/O에서 PAIR 가이드북 2판을 소개합니다. 첫 번째 버전은 2년 전에 출시되었으며, 그 이후로 전 세계의 다양한 직책 (개발자, 디자이너, 제품 관리자, 학생 등)을 가진 25만 명 이상의 사용자가 사용하고 있습니다. 이제 더욱 실용적인 기능을 제공하기 위해 업데이트를 도입합니다.
특히 이번 2판에서는 가이드북을 탐색하고 작업별로 콘텐츠를 찾는 새로운 방법을 제공합니다. 사용자 중심 AI 접근 방식으로 제품을 개발할 때 여러분과 여러분의 팀이 가질 수 있는 주요 질문 목록을 마련했습니다. 이 목록은 필요할 때 필요한 콘텐츠를 찾는 데 도움이 됩니다.
- 제품에 AI를 언제 어떻게 사용해야 하나요?
- 데이터 세트를 책임감 있게 구축하려면 어떻게 해야 하나요?
- 사용자가 내 AI 시스템에 대한 신뢰를 구축하고 조정하도록 어떻게 도울 수 있나요?
- 사용자를 새로운 AI 기능에 온보딩하려면 어떻게 해야 하나요?
- AI 시스템을 사용자에게 어떻게 설명해야 하나요?
- 사용자 제어와 자동화의 적절한 균형은 무엇인가요?
- 문제가 발생했을 때 사용자를 지원하려면 어떻게 해야 하나요?
질문을 선택하면 더 작고 실행 가능한 단위로 관련 콘텐츠가 표시됩니다.
또한 PAIR 가이드북이 다음과 같은 새로운 콘텐츠로 업데이트되었습니다.
- AI 설계 패턴 집합
- 우수사례
- 업데이트된 챕터
- 새로운 연습 문제와 워크숍 키트
이 Codelab에서는 AI로 새로운 기능을 개발하면서 워크플로에서 이러한 디자인 패턴이 실제로 적용되는 것을 확인할 수 있습니다.
지금 시작해 보세요.
3. 사용자 요구사항을 AI 문제로 변환
다음 시나리오를 상상해 보세요.
영화 시청 앱을 개발 중이며, 사용자가 더 많은 영화를 즐길 수 있도록 개선되고 맞춤설정된 환경을 제공하고 싶습니다.
앱의 방문 페이지에는 현재 다음 섹션이 포함되어 있습니다.
- 개봉일 순으로 정렬된 신작 영화 목록
- 모든 영화의 카탈로그(장르별로 정리됨)
- 사용자가 영화 제목, 출연진 등으로 검색할 수 있는 검색창
맞춤 추천이 없는 영화 앱
사용자에게 영화를 추천하는 새로운 섹션을 추가하고 싶으며, AI가 이 기능을 구현하는 데 적합한 옵션이라고 생각합니다. 구현을 시작하기 전에 다음을 수행해야 합니다.
- 기존 워크플로 검토: 사용자가 현재 앱과 어떻게 상호작용하고 있으며, 사용자 경험을 어떻게 개선할 수 있을까요?
- AI가 고유한 가치를 더할 수 있는지 확인: 문제가 AI로 잘 해결할 수 있는 문제에 매핑되나요? AI로 제품의 사용자 환경을 개선할 수 있나요?
PAIR 가이드북의 사용자 요구사항 + 성공 정의 챕터를 사용하여 AI가 적합한 솔루션일 가능성이 있는 사용 사례 목록을 검토한 결과, 사용자의 요구사항이 다음 유형의 문제에 속하는 것으로 확인되었습니다.
- 사용자마다 다른 콘텐츠 추천
- 맞춤설정은 사용자 환경을 개선합니다.
- 동적 콘텐츠를 표시하는 것이 예측 가능한 인터페이스보다 효율적입니다.
AI가 더 나은 해결책이 아닐 수 있는 사례 목록도 검토하세요.
이제 AI 기반 솔루션이 이 사용자 요구사항을 해결하기에 적합한 후보인 것으로 보이므로 실제로 더 나은 사용자 환경을 제공하는지 평가해야 합니다.
패턴:
AI로 빌드를 시작하기 전에 염두에 둔 제품이나 기능에 AI가 필요한지 또는 AI로 개선할 수 있는지 확인하세요.
AI는 다음과 같은 애플리케이션에 적합합니다.
- 영화 추천과 같이 사용자마다 다른 콘텐츠 추천
- 날씨 이벤트 또는 항공권 가격 변동과 같은 미래 이벤트 예측
- 자연어 이해
- 이미지 인식
다음과 같은 경우 규칙 또는 휴리스틱 기반 솔루션이 더 적합할 수 있습니다.
- 예측 가능성을 유지하는 것이 중요함
- 사용자, 고객 또는 개발자는 완전한 투명성이 필요합니다
- 작업을 자동화하고 싶지 않음
AI를 사용해야 하는 경우와 사용하지 말아야 하는 경우에 대한 자세한 내용은 사용자 요구사항 챕터 를 참고하세요.
전체 패턴 링크: https://pair.withgoogle.com/guidebook/patterns#determine-if-ai-adds-value
각 사용자가 좋아할 만한 영화를 강조 표시하여 앱에 가치를 더할 수 있습니다. 최신 영화나 전체적으로 평점이 가장 높은 영화만 표시하는 것보다 풍부한 사용자 환경을 제공할 수 있습니다. 또한 이 기능을 사용하면 빠르게 증가하는 영화 카탈로그를 탐색하는 시간을 절약할 수 있다고 생각합니다.
AI 기반 솔루션을 도입하기로 결정했다면 다음 단계를 계획할 준비가 된 것입니다.
4. 작업을 위한 데이터 세트 빌드
사용자에게 영화 추천을 제공하도록 추천 시스템을 학습시키려면 AI 모델이 학습할 데이터 세트를 구성해야 합니다.
가장 먼저 해야 할 일은 사용자 요구사항과 데이터 요구사항을 일치시키는 것입니다.
PAIR 가이드북의 데이터 수집 + 평가 장에 나오는 매칭 연습을 사용하여 다음을 결정합니다.
- 사용자: 영화 시청자 (영화 앱 사용자)
- 사용자 요구사항: 좋아하는 영화를 더 쉽고 빠르게 찾기
- 사용자 작업: 앱을 통해 영화를 선택하고 시청
- AI 시스템 출력: 추천할 영화 및 이유 (감정 라벨 또는 태그)
- AI 시스템 학습: 영화 추천 수락, 영화 전체 시청, 영화 리뷰 작성, 영화에 높은 평점 부여와 관련된 행동 패턴
- 필요한 데이터 세트: 앱의 영화 시청 데이터, 영화 정보, 영화 평점 및 리뷰
- 데이터 세트에 필요한 주요 기능: 시청자의 영화 선호도 및 시청 기록, 영화 정보 (예: 장르, 출연진), 영화 별점, 영화 리뷰
- 데이터 세트에 필요한 주요 라벨: 앱 추천에 대한 시청자의 수락 또는 거부 비율, 시청자의 영화 완료율, 시청자 평점 및 리뷰, 추천이 거부된 이유에 대한 시청자 의견
이 연습을 완료했으므로 다음과 같은 몇 가지 잠재적인 데이터 소스를 확인할 수 있습니다.
필요한 데이터의 유형을 파악한 후에는 Google의 AI 원칙과 책임감 있는 AI 관행을 프레임워크의 예로 삼아 개인 정보 보호 (예: '고지 및 동의 기회 제공') 및 공정성 (예: '반복적인 사용자 테스트를 수행하여 개발 주기에 다양한 사용자의 니즈를 통합합니다.')
마지막으로 학습 데이터 세트를 준비할 때는 현실적이고 실제 세계의 '노이즈' 데이터를 반영하는 데이터를 수집해야 합니다. 예를 들어 맞춤법 오류, 약어, 그림 이모티콘, 특이하거나 예상치 못한 문자가 포함된 영화 리뷰를 포함해야 합니다. 앱 사용자는 완벽하게 형식이 지정된 리뷰보다는 실제와 유사하고 '노이즈'가 많은 리뷰를 앞으로 제공할 가능성이 높기 때문입니다.
패턴:
학습 데이터 세트를 개발할 때 완벽하게 선별된 데이터를 사용하려고 하지 마세요. 대신 사용자가 제공할 것으로 예상되는 실제 데이터와 최대한 유사한 데이터를 만들기 위해 약간의 '노이즈'를 허용하세요. 이렇게 하면 모델을 실제 환경에 출시한 후 오류와 품질이 낮은 추천을 방지할 수 있습니다.
이를 위해 사용자로부터 얻을 것으로 예상되는 데이터 유형을 생각한 다음 해당 데이터가 학습 세트에 표시되는지 확인합니다.
예를 들어 이미지 인식 시스템의 경우 사용자로부터 얻을 수 있는 데이터를 고려하세요. 고품질 사진을 촬영할 시간이 없을 가능성이 높고 모델이 흐릿한 스마트폰 이미지를 사용해야 하는 경우 학습 데이터에 흐릿한 이미지를 포함하세요.
전체 패턴 링크: https://pair.withgoogle.com/guidebook/patterns#embrace-noisy-data
사용자 요구사항을 AI 문제 및 데이터 세트 요구사항에 매핑했으므로 이제 AI를 학습시켜 앱 사용자에게 추천을 제공하고 영화에 라벨을 지정할 수 있습니다. 이 Codelab에서는 이 프로세스를 다루지 않지만 다음 리소스에서 추천 시스템과 감성 분석에 관해 자세히 알아볼 수 있습니다.
- Google Developers의 추천 시스템 자습 과정
- TensorFlow.org의 BERT를 사용한 감정 분석을 위한 텍스트 분류 튜토리얼
5. 시스템 기능 및 제한사항 전달
앱의 사용자 환경을 설계할 때 사용자를 새로운 AI 기반 기능에 온보딩하고 사용자가 적절하게 기대치를 설정하도록 지원하는 방법을 계획해야 합니다. 사용자는 모든 상황에서 AI 시스템을 암묵적으로 신뢰해서는 안 되며, 신뢰도를 올바르게 조정해야 합니다.
사용자에게 기대치를 설정하는 것은 사용자가 제품과 처음 상호작용하기 전부터 시작되는 의도적인 프로세스입니다. 다양한 방법으로 제품 환경 전체와 외부에서 설명을 제공해야 합니다.
- 실시간으로 설명해 줘. 적절한 경우 특정 추론, 추천, 제안 등의 이유를 제공합니다.
- 제품에 추가 설명 제공 온보딩과 같은 다른 제품 내 순간을 활용하여 AI 시스템을 설명합니다.
- 제품 경험을 넘어 제품 내 정보가 충분하지 않을 수 있지만 인지도를 높이는 마케팅 캠페인, 정신적 모델을 개발하는 교육 자료 및 리터러시 캠페인과 같은 다양한 추가 리소스로 지원할 수 있습니다.
예를 들어 사용자가 앱에 로그인하고 방문 페이지에 새로 추가된 목록에서 추천 영화를 선택합니다. 사용자가 찾을 수 있는 영화에 관한 일반적인 정보 외에도 추천 목록에 이 특정 영화가 표시되는 이유를 설명하는 것이 좋습니다.
PAIR 가이드북의 질문별 검색을 사용하여 'AI 시스템을 사용자에게 어떻게 설명해야 하나요?'를 선택하면 이해를 위한 설명이지 완전성을 위한 설명이 아니라는 패턴을 확인할 수 있습니다.
패턴:
AI 시스템의 추천을 설명할 때는 사용자가 결정을 내리고 다음 단계로 나아가는 데 필요한 정보를 공유하는 데 중점을 두세요. 시스템에서 발생하는 모든 일을 설명하려고 하지 마세요.
특정 예측의 근거가 알려져 있지 않거나 너무 복잡하여 간단한 문구 또는 문장으로 요약할 수 없는 경우가 많습니다. 사용자는 제품을 사용할 때 불필요한 설명으로 인해 압도되거나 주의가 산만해지는 것을 원하지 않을 수도 있습니다.
설명 가능성 + 신뢰 챕터 에서는 부분 설명, 점진적 공개, 모델 신뢰도 표시 등 간결하고 사용자 친화적인 설명을 작성하는 다양한 접근 방식을 예시로 보여줍니다.
전반적인 시스템 작동 방식에 대한 더 길거나 자세한 설명을 공유하려면 활성 사용자 흐름 외부에서(예: 마케팅 자료 또는 온보딩 콘텐츠) 공유하세요.
전체 패턴 링크: https://pair.withgoogle.com/guidebook/patterns#explain-for-understanding
이 패턴에 설명된 권장사항을 적용하여 다음과 같은 설명을 표시하기로 결정합니다.
추천 이유를 포함한 영화 추천
이 예시 설명에서는 설명 가능성 + 신뢰의 PAIR 가이드북 안내를 적용하고 데이터 소스를 사용하여 득표수가 가장 많은 사용자 리뷰 3개로 사용자에게 설명을 제공합니다.
또한 이 영화에 대한 긍정적 감정에 가장 큰 영향을 미친 특정 단어를 강조 표시하여 사용자가 영화를 선택할 때 중요하게 생각하는 요소를 보여줍니다. PAIR의 Language Interpretability Tool (LIT)에 관한 이 데모에서 감정 분류기를 탐색하는 방법을 자세히 알아보세요.
Learning Interpretability Tool (LIT) 스크린샷
LIT는 시각적, 양방향, 확장 가능한 도구를 통해 자연어 처리 (NLP) 모델 동작을 검사하는 데 도움이 됩니다. 이를 통해 가설을 테스트하고 관련 측정항목과 로컬 설명 (예: 중요도 지도 및 예측 시각화)이 포함된 데이터 세트에서 가설을 검증할 수 있습니다. 제품팀은 다음 사용 사례에서 LIT를 사용할 수 있습니다.
- 모델을 배포하기 전에
- 공정성 테스트 시
- 개별 예측 디버깅
- 새 모델과 이전 모델을 비교하는 경우
6. 신뢰도를 표시하는 방법 결정
사용자와의 기대치를 설정하는 또 다른 방법은 추천에 모델 신뢰도를 표시하는 것입니다. 모델 신뢰도 디스플레이는 AI가 특정 결정을 내린 이유나 방식을 설명하는 대신 AI가 예측에 얼마나 확신을 가지고 있는지, 고려한 대안은 무엇인지 보여줍니다. 대부분의 모델은 최적의 분류와 신뢰도 점수를 출력할 수 있으므로 모델 신뢰도 표시는 쉽게 사용할 수 있는 설명인 경우가 많습니다.
사용자에게 표시되는 추천 영화 페이지에 신뢰도를 추가하기 전에 이 신뢰도가 사용자에게 유용한지, 유용하다면 이를 표시하는 가장 좋은 방법이 무엇인지 확인해야 합니다.
패턴:
경우에 따라 모델 신뢰도 를 표시하여 사용자가 AI 출력을 얼마나 신뢰해야 하는지 파악하도록 도울 수 있습니다. 모델 신뢰도는 AI가 예측에 얼마나 확신을 가지고 있는지, 고려된 대안은 무엇인지 설명합니다.
하지만 다른 맥락에서는 사용자가 신뢰도를 이해하기 어려울 수 있습니다.
사용하기로 결정한 경우 제품 개발 과정 초기에 다양한 유형의 디스플레이 를 테스트하여 사용자에게 가장 적합한 디스플레이를 찾으세요.
전체 패턴 링크: https://pair.withgoogle.com/guidebook/patterns#how-to-show-model-confidence
PAIR 가이드북의 설명 가능성 + 신뢰 장에서 신뢰도를 표시하는 권장 접근 방식을 검토한 결과 다음과 같은 옵션을 찾았습니다.
- N개의 가장 가능성 높은 분류
- 숫자 신뢰도 수준
앱의 방문 페이지에서 사용자에게 추천 영화 목록을 표시하므로 n개의 가능성이 가장 높은 영화가 순서대로 표시되는 순서가 지정된 목록을 선택합니다.
추천 영화 캐러셀, 가장 가능성이 높은 추천이 먼저 표시됨
7. 사용자에게 오류에서 벗어날 수 있는 방법을 제공합니다.
마지막 몇 단계에서 사용자가 제품에 대한 신뢰를 구축하고 조정하도록 지원하면서 기대치를 설정하고 사용자에게 설명을 제공하는 몇 가지 권장사항을 알아봤습니다.
또 다른 중요한 질문은 오류가 발생할 때 사용자 환경이 어떤 모습인가입니다. 사용자가 어떻게 나아가는지도 마찬가지로 중요합니다. 시스템이 실패한 후 사용자가 할 수 있는 일에 집중하면 제품의 유용성을 유지하면서 사용자에게 권한을 부여할 수 있습니다.
오류 + 정상적인 실패에 관한 PAIR 가이드북의 장에서 설명한 대로 먼저 제품의 오류가 무엇인지, 오류 유형 (사용자, 시스템 또는 컨텍스트)이 무엇인지 정의해야 합니다.
다음 예를 살펴보겠습니다.
- 사용자가 영화관에서 이미 본 영화가 추천됩니다. 이 추천이 사용 중지되어 있지는 않지만 사용자에게 실제로 도움이 되지 않습니다.
- 사용자가 영화관에서 이미 봤고 좋아하지 않는 영화가 추천됩니다. 이 추천은 영화에 대한 사용자의 선호도에 따라 오류로 간주될 수 있습니다.
- 사용자에게 평소에 즐겨 보지 않는 장르의 영화가 추천됩니다. 사용자에게는 오류로 보일 수 있습니다.
- 사용자에게 더 이상 앱에서 호스팅되지 않는 영화가 추천됩니다. 이는 명백한 시스템 오류입니다.
위의 두 번째와 세 번째 예에서 AI는 이 사용자에게 도움이 되지 않는 추천을 제공했습니다. 이러한 오류가 발생하면 PAIR 가이드북의 의견 + 제어 장에서 권장하는 대로 사용자에게 예측에 대한 의견을 제공할 기회를 제공하고 영향을 미치는 시간을 전달해야 합니다.
패턴:
AI 지원 시스템이 사용자가 예상하거나 원하는 방식으로 작동하지 않는 경우 사용자가 의견을 공유할 수 있는 옵션이 있는지 확인하세요. 가능한 한 많은 의견을 사용하여 모델을 개선하세요.
AI 시스템의 피드백은 다음과 같은 다양한 형태를 취할 수 있습니다.
- 추천에 좋아요 또는 싫어요 표시하기
- 원치 않는 추천 숨기기
- 문제가 있는 추천 콘텐츠 신고하기
- 사용자가 양식이나 기타 메커니즘을 통해 문제를 수동으로 신고하는 기존의 의견 흐름
사용자가 의견을 제공하면 의견을 받았다고 알립니다. 가능하다면 시스템에서 의견에 어떻게 대응할지 알려주세요.
전체 패턴 링크: https://pair.withgoogle.com/guidebook/patterns#let-users-give-feedback
앱의 경우 다음과 같이 표시될 수 있습니다.
사용자가 맞춤 동영상에 대한 의견을 제공할 수 있습니다.
...다음 단계에 대한 알림을 받습니다.
8. 축하합니다
축하합니다. 지금까지 PAIR 가이드북의 새로운 리소스를 사용하는 방법을 보여주는 워크플로의 예를 살펴보았습니다.
요약
이 Codelab을 통해 학습한 내용은 다음과 같습니다.
- 사용자 요구사항을 AI 문제로 변환
- 작업을 위한 데이터 세트 빌드
- 사용자를 새 기능에 온보딩
- 시스템 설명 및 사용자 기대치 설정
- 사용자에게 오류에서 벗어날 수 있는 방법을 제공합니다.
- 제품 개선을 위한 의견 수집
다음 단계
이 Codelab에서 강조 표시된 모든 리소스와 그 밖의 다양한 리소스는 다음 링크에서 확인할 수 있습니다.