한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
Play Console에서 새로운 통계 기능으로 구독 최적화 기능을 소개합니다
2019년 6월 18일 화요일
<블로그 원문은
이곳
에서 확인하실 수 있습니다>
게시자: Daniel Schramm, Google Play 제품 관리자
거의 7년 전에 Google Play에서 출범한 이후로, 구독은 지속 가능한 모바일 앱 비즈니스를 만드는 데 있어 필수적인 요소로 입증되었습니다. 미국 시장을 기준으로 Google Play에서 최고 매출을 기록한 100대 앱 중 89개의 앱이 현재 구독 제품을 제공하고 있습니다. 시장이 성숙함에 따라, 성장세 유지를 위해서는 구독 개발자가 구독자 전환과 유지를 모두 최적화하는 것이 점점 더 중요해지고 있습니다. 이러한 최적화에 도움을 드리고자, Play Console에서 직접 사용 가능한 새로운 통계 기능을 출시합니다.
구독 유지 보고서
Play Console의 구독 유지 보고서 데이터 예시. 출처: Google 내부 데이터.
최근에 업데이트된
구독 유지 보고서
에서는 구독자가 무료 시험판에서 얼마나 잘 유료 서비스로 전환하는지 여부, 초기 가격, 첫 번째 결제에서 두 번째 결제로 이어지는 비율 등과 함께 구독자를 얼마나 잘 유지하고 있는지도 파악할 수 있습니다.
SKU, 국가, 구독 시작 날짜를 기준으로 두 개의 집단을 구성할 수 있습니다. 이는 예컨대 무료 시험판 기간의 변경이 무료 시험판 전환에 영향을 줄지 확인하기 위해 A/B 테스트의 성공 여부를 평가하는 데 특히 중요합니다.
Play Console에서 무료 시험판 전환 데이터의 예시. 출처: Google 내부 데이터.
취소 설문조사 결과
기존 구독자 유지가 신규 구독자 유치만큼이나 중요하므로, 우리는 자발적 취소와 비자발적 취소에 대해 더욱 정확한 통계를 제공하기 위해
구독 취소 보고서
를 업데이트했습니다.
작년에 구독 센터를 출시하면서 취소 설문조사가 도입되어, 사용자가 구독을 취소하는 이유에 관해 개발자에게 피드백을 제공하고 그 결과를 Google Play Developer API를 통해 확인할 수 있게 되었습니다. 이러한 결과에 더 수월하게 접근해 모니터링할 수 있도록, 이제는 작성된 응답 내용을 CSV 파일 형식으로 다운로드하는 기능 외에도 Play Console 내에서 직접 일일 집계 결과를 확인할 수 있도록 했습니다.
Play Console에서 취소 설문조사 응답의 예시. 출처: Google 내부 데이터.
더 많은 사용자 복구
사용자가 선택한 결제 형식이 인정되지 않아 발생하는 비자발적 구독 취소가 모든 구독 취소의 1/3 이상에 달합니다. 취소 보고서에 새로 도입된 복구 성과 카드를 통해 결제 유예 기간을 두고 계정을 유지함으로써 비자발적으로 구독 취소된 사용자를 효과적으로 복구하는 방법과 이러한 사용자가 다시 돌아오도록 하기 위한 메시징의 효과를 평가하는 데 도움이 되도록 구독이 복구된 날짜를 파악할 수 있습니다.
Play Console에서 계정 유지 복구 성과 카드의 예시. 출처: Google 내부 데이터.
개발하신 앱에 대해 결제 유예 기간과 계정 유지 기능을 설정했는지 확인하세요! 결제 유예 기간과 계정 유지를 둘 다 사용하는 개발자는
복구율이 3배 이상 증가
하여 10%에서 33%로 높아진 것으로 나타났습니다.
결제 유예 기간
과
계정 유지
에 관해 더 자세히 알아보세요.
Play Console의
재무 보고서
섹션에 있는
구독
페이지의 맨 아래에서 링크된 구독 유지 및 취소 보고서를 찾을 수 있습니다. 재무 보고서에 액세스할 수 없는 경우 개발자 계정 소유자에게
재무 데이터 보기
권한을 요청하세요.
Play Console에서 계정 유지 복구 성과 카드의 예시. 출처: Google 내부 데이터.
이 새로운 보고 기능을 통해 구독 비즈니스의 최적화에 도움이 되는 새로운 통계 정보를 얻으실 수 있길 바라고, 5월에 열릴 Google I/O에서 여러분과 더 많은 정보를 공유하기를 기대합니다.
Cloud Run을 위한 Firebase Hosting를 소개합니다
2019년 6월 18일 화요일
Patrick Martin (
디벨로퍼 어드보케)
<블로그 원문은 이곳에서 확인하실 수 있습니다>
Google Cloud의 새로운
Cloud Run
서비스를 위한
Firebase Hosting 통합
을 소개합니다. Cloud Run은 개발자가 자신이 선택한 언어와 프레임워크로 된 HTTP 요청을 통해 호출할 수 있는 상태 비추적 컨테이너를 실행할 수 있도록 지원하는 완벽한 관리형 컴퓨팅 플랫폼입니다. Firebase Hosting 통합을 통해 이 아키텍처를 Firebase 프로젝트의 웹 앱 또는 마이크로 서비스를 위한 백엔드로 사용할 수 있습니다.
Firebase Hosting은 이미 사이트와
마이크로 서비스
를 편리하고 안전하게 호스팅하는 방법으로 쓰이고 있습니다. Firebase Hosting은 직접 업로드하는 정적 페이지를 제공할 수 있고,
firebase.json 파일
에서 적절한 구성을 통해 수신 요청을 Cloud Functions for Firebase로 보내 동적 콘텐츠를 제공할 수 있습니다. NodeJS 환경에서 작업하고자 한다면 이 워크플로는 완벽한 대안입니다. 사용자 수요에 부응하기 위해 자동으로 수평적으로 확장하면서 동적 콘텐츠을 가진 빠른 사이트는 이미 빌드할 수 있습니다.
하지만 모든 개발자가 NodeJS로 작업하고 싶어 하는 것은 아닙니다. 다수의 개발자는 이미 다른 언어와 프레임워크에 대한 기존 지식을 가진 대규모 팀을 두고 있습니다. Go, Ruby, Java와 같은 언어는 서버 시장에서는 그 비중이 상당하지만, 현재 Firebase의 기존 클라우드 백엔드 솔루션에서는 사용되지 않습니다.
Google Cloud Platform에서는 현재 Kubernetes를 위한 인프라를 빌드하는 Google 고유의 경험과 Knative 오픈소스 프로젝트의 산물을 활용하여
상태 비추적 서버를 배포
할 수 있습니다. 유일한 요구 사항은 Kubernetes를 위한 $PORT 환경 변수에 지정된 포트를 통해 HTTP 요청에 대응하여 상호작용 가능한 Docker 이미지를 생성할 수 있고 Firebase Hosting에 대해 60초 내에 응답해야 한다는 점입니다. 그렇지만 이것이 Firebase Hosting과는 어떤 연관이 있는 걸까요?
Hosting을 처음 접하는 분이라면 정적 호스팅이나 무료 SSL 인증서만 알고 계실지 모르겠습니다. 동적 콘텐츠를 용이하게 제공하기 위해, 재작성을 통해 우리가 Cloud Run도 지원하기 위해 확장한 클라우드 함수에 도달할 수 있습니다. 다음과 같이 firebase.json 파일을 약간 변경하면 컨테이너에 이르는 특정 경로를 가리킬 수 있습니다.
{
"hosting": {
"public": "public",
"rewrites": [ {
"source": "/cloudrun",
"run": {
"serviceId": "my-awesome-api",
// Optional (default is us-central1)
"region": "us-central1",
}
} ]
}
}
또는 와일드 카드를 사용해 전체 API를 노출할 수도 있습니다.
{
"hosting": {
"public": "public",
"rewrites": [ {
"source": "/api/**",
"run": {
"serviceId": "my-awesome-api",
// Optional (default is us-central1)
"region": "us-central1",
}
} ]
}
}
그다지 자주 업데이트되지 않는 동적 사이트가 있는 경우에는 Firebase Hosting의 전역
CDN(콘텐츠 전송 네트워크)
을 이용해 사이트의 응답 시간을 향상해 보세요. 예를 들어 ExpressJS와 NodeJS를 사용 중이라면, 다음과 같이 Cache-Control 헤더를 사용하여 캐싱 동작을 구성하세요.
res.set('Cache-Control', 'public, max-age=300, s-maxage=600');
위 코드는 브라우저에서는 5분간(max-age), CDN에서는 10분간(s-maxage) 요청 결과를 캐시하는 코드입니다. 캐시 설정을 올바로 조정해두면 사용자가 페이지를 열 때마다 서버 로직을 실행할 필요가 없는 빠르고 유연하며 동적으로 렌더링되는 사이트를 가질 수 있습니다.
Cloud Functions for Firebase와는 달리,
Cloud Run을 사용
하면 언어와 프레임워크를 임의로 조합한 이미지를 빌드하여 이러한 요청을 처리할 수 있습니다.
Ruby 개발자가 Sinatra를 쉽게 끌어오거나
, 사용자가
자바 팀을 위한 Spring 프레임워크
를 실행하거나,
Shelf를 사용하는 서버 측 Dart
를 체크아웃하여 콘텐츠를 제공할 수 있습니다. 공식적인 언어 지원을 기다릴 필요가 없습니다. Docker 컨테이너를 만들 수 있으면 백엔드 코드를 작성하여 배포할 수 있습니다. 고성능 컴퓨팅 환경에서 작업 중이고 엔지니어링 팀이 Fortran으로 교육을 받았더라도, Google이나 Firebase의 공식 지원을 기다릴 필요 없이 기존 지식만 활용해 Fortran.io로 웹 대시보드를 만들 수 있습니다.
Cloud Functions와 비슷하게, Cloud Run은 사용자의 수요를 충족시키기 위해 자동으로 컨테이너를 수평 확장합니다. 클러스터 또는 노트 풀을 관리할 필요가 없습니다. 당면 과제를 완수하기 위해 특정 시점에만 리소스를 사용하기 때문입니다. 한 가지 절충점은 Cloud Run 이미지 역시 Cloud Functions와 같이 상태 비추적 이미지라는 사실입니다. 하지만 Cloud Functions와는 달리, 각 컨테이너가 최대 80명의 사용자를 동시에 처리할 수 있어 콜드 부팅 빈도를 줄이는 데 도움이 될 수 있습니다.
Firebase Hosting을 Cloud Run과 함께 사용하여 개발자 여러분이 과거 그 어느 때보다도 빠르게 더 나은 웹 앱을 빌드하실 수 있기를 바랍니다. 이제는 프런트엔드 및 백엔드 개발자가 진정으로 단 하나의 언어를 사용할 수 있고, 심지어는 코드 베이스를 공유할 수도 있습니다. 지금 바로 시작하려면
단계별 안내
를 따르십시오. Cloud Run은 Firebase 콘솔이 아니라 Google Cloud 콘솔에 존재하지만, Firebase 프로젝트를 가지고 있다면 이미
Google Cloud Platform 프로젝트
도 가지고 있는 것입니다.
AI 기반 음성 기술의 접근성 향상 - 더 많은 옵션, 더욱 저렴한 가격 및 새로운 언어와 음성 지원합니다
2019년 6월 3일 월요일
<블로그 원문은
이곳
에서 확인하실 수 있습니다>
음성 인식 및 합성 능력은 휴먼-머신 상호작용을 자연스럽고 수월하고 일상적인 모습으로 만드는 데 매우 중요하지만, 아직은 사용 사례가 드뭅니다. 현재 우리는 더 많은 기능, 더 많은 음성(대략 2배 증가), 더 많은 국가에서 더 많은 언어(50% 이상 증가), 그리고 더 낮은 가격(어떤 경우에는 최대 50% 인하)으로 전 세계 기업들에게
Cloud STT(Speech-to-Text)
및
TTS(Text-to-Speech)
제품의 접근성을 더욱 높이기 위해 노력하고 있습니다.
기업을 위한 Cloud STT(Speech-to-Text)의 접근성 향상
지능형 음성 애플리케이션을 만들 때는 음성 인식 정확도가 결정적으로 중요한 요소입니다. 90%의 정확도에서도 유용한 대화를 하기는 어렵습니다. 안타깝게도 많은 회사가 전화선을 통해 실행해야 하는 데다 불필요한 요소가 많이 섞인 결과를 생성하는 음성 애플리케이션을 빌드하는데, 여기서 얻은 데이터는 AI 기반 음성 기술로 해석하기 어렵다는 사실이 이미 과거 기록으로 드러났습니다.
일부 데이터에 노이즈가 있는 이런 상황을 위해 우리는 작년에
동영상과 향상된 전화를 위한 베타 버전의 프리미엄 모델
을 발표했는데, 모델 정확도를 더욱 높이는 데 도움을 주고자 데이터 로그 기록을 통해 사용 데이터를 공유하기로 선택한 고객들과 함께 개발한 모델입니다. 그 결과로 성능이 향상된 전화 모델에서 이제는 받아쓰기 오류가 62% 감소했고(작년의 54%에서 개선됨), YouTube가
자동 캡션 처리
를 위해 사용하는 것과 유사한 기술을 기반으로 하는
동영상 모델
은 오류가 64% 감소했다는 사실을 오늘 이렇게 알려드리게 되어 기쁩니다. 그 밖에도, 동영상 모델은 회의 또는 팟캐스트처럼 화자가 여러 명인 상황에서도 훌륭하게 작동합니다.
향상된 전화 모델
은 처음에는
작년에 발표한
옵트인 데이터 로그 기록 프로그램에 참여한 고객만 사용할 수 있었습니다. 하지만 많은 대기업이 데이터 로그 기록을 옵트인하지 않고 향상된 모델을 사용하기 위한 옵션을 요구해오고 있습니다. 오늘부터는 누구든 향상된 전화 모델에 액세스할 수 있고 데이터 로그 기록 옵션을 선택하는 고객은 더 낮은 가격으로 이용할 수 있으므로, 더 많은 사용자가 향상된 정확도의 혜택을 누릴 수 있게 되었습니다.
두 프리미엄 모델의 정식 출시 외에, 우리는 Cloud Speech-to-Text API가 여러 오디오 채널(예: 여러 사람이 대화하는 상황)을 구분하는 데 도움을 주어 통화 분석이나 회의 분석, 여러 참가자가 관련된 다른 사용 사례의 분석 수행에 매우 유용한
다중 채널 인식
의 정식 출시도 발표할 예정입니다. 정식 출시와 함께 이 모든 기능들이 이제 SLA와 다른 엔터프라이즈급 보장을 받을 자격을 갖출 수 있게 되었습니다.
LogMeIn의 Cloud Speech-to-Text
LogMeIn
은 정확도와 엔터프라이즈 스케일의 두 가지를 모두 요구하는 고객의 사례로 들 수 있는 회사입니다. 전 세계 수많은 회사에서 수백만의 직원이 매일같이 LogMeIn의 GoToMeeting 제품을 사용해 온라인 회의에 참석합니다. LogMeIn은 Cloud Speech-to-Text를 사용하여 엔터프라이즈 GoToMeeting 고객의 대화 내용을 자동으로 작성해 주므로, 사용자들이 더욱 효과적으로 협업할 수 있습니다.
“LogMeIn은 Google Cloud와의 협업과 시장을 주도하는 Google Cloud의 동영상 및 실시간 Speech-to-Text 기술에 계속 감탄하고 있습니다. 우리는 최상의 Speech-to-Text 동영상 파트너에 대한 광범위한 시장 조사를 마친 후 Google이 최고의 자질을 갖추고 있고 유용한 관련 기술을 다양하게 구비하고 있다는 사실을 알았습니다. 우리는 고객들로부터 이러한 기능들이 회의 중 대화 내용을 포착해 회의 후에 사용 및 공유 가능한 자료로 만들어 주므로 상당히 유용한 기능이라는 얘기를 지속적으로 듣고 있습니다. 우리와 Google Cloud의 협력은 지능적 협업을 우리 제품의 기반으로 삼아서 궁극적으로 전 세계 UCC 고객을 위한 더 많은 가치를 추가하겠다는 우리의 약속을 확인해 주는 것입니다.”
- Mark Strassman, LogMeIn UCC(Unified Communications and Collaboration) SVP 겸 총괄 매니저.
가격을 더욱 낮춰(최대 50% 인하) Cloud Speech-to-Text의 접근성 향상
Cloud Speech-to-Text의 접근성을 더욱 높이기 위한 우리의 또 다른 방안이 바로 가격 인하입니다. 지금부터 다음과 같은 가격 정책을 시행합니다.
표준 모델과 프리미엄 동영상 모델의 경우, 데이터 로그 기록 프로그램에 옵트인하는 고객은 이제부터 이 프로그램을 통해 이루어지는 모든 서비스 이용에 대해 33% 할인된 요금 적용을 받으시게 됩니다.
우리는 이미 프리미엄 동영상 모델 가격을 25% 인하한 바 있으므로, 현재 동영상 모델 고객이 데이터 로그 기록에 옵트인하면 총 50%를 절감하는 혜택을 누리게 됩니다.
더 많은 국가에서 Cloud Text-to-Speech의 접근성 향상
또한 우리가 음성 합성 분야에서 일군 연구 성과와 경험이 고객 기업에 도움이 되고 있다는 점이 무척 뿌듯합니다.
Google Cloud TPU
로 구동되는
WaveNet
기술에 고유한 방식으로 액세스하는 덕분에, 우리는 업계의 통상적인 수준보다 빠르고 수월하게 새로운 음성과 언어를 빌드할 수 있습니다. 우리는 작년 8월에
업데이트
한 이후로 Cloud Text-to-Speech에서 극적인 발전을 이루었는데, 전체 음성, WaveNet 음성, WaveNet 언어의 수가 대략 2배로 늘었고 지원되는 언어의 수도 전체적으로 50%까지 늘었으며 다음과 같은 언어가 포함됩니다.
덴마크어, 포르투갈어, 러시아어, 폴란드어, 슬로바키아어, 우크라이나어, 노르웨이어(복말)를 포함한 7가지 새로운 언어 또는 언어 변형을 지원합니다(전부 베타 버전임). 이 업데이트로 지원 언어 목록이 21개 언어로 확장되며 수백만의 신규 최종 사용자를 위한 애플리케이션을 지원할 수 있습니다.
이들 신규 언어에 대해 31가지의 새로운
WaveNet
음성(24가지의 새로운 표준 음성도 지원). 이로 인해 전 세계적으로 더 많은 기업이
평균 평점
을 기반으로 하고 사람의 음성과의 품질 격차를 이미 70%나 해소한 우리의 음성 합성 기술을 이용할 수 있게 되었습니다.
여기
에서 전체 언어 및 음성 목록을 확인하실 수 있습니다.
불과 1년 전에 Cloud Text-to-Speech를 발표했을 때는 WaveNet 음성으로 1개 언어만 지원했는데, 작년 8월에 9개로 늘어난 데 이어, 이제는 20개의 언어와 언어 변형을 지원하며 국제적으로 폭넓은 확장세를 보이고 있습니다.
그 밖에도, 다양한 유형의 하드웨어에서 오디오 재생을 최적화하는 Cloud Text-to-Speech
Device Profiles
기능이 정식 출시됩니다. 예를 들어 콜 센터 애플리케이션을 보유한 일부 고객은 대화식 음성 응답(IVR)을 최적화하는 반면, 콘텐츠와 미디어(예: 팟캐스트)에 주력하는 다른 고객은 헤드폰에 맞게 최적화합니다. 모든 경우에 오디오 효과는 하드웨어에 맞춤설정됩니다.
지금 시작하세요
Cloud Speech 제품은 쉽게 시험 사용해보실 수 있습니다.
Cloud Speech-to-Text
및
Cloud Text-to-Speech
방문 페이지에서 간단한 데모를 확인해 보세요. 마음에 드실 경우 300달러의 GCP 크레딧을 사용해 테스트를 시작하실 수 있습니다. 늘 그렇듯이, 매달 Cloud Speech-to-Text로 처리하는 오디오 중 최초 60분 분량에 대해서는 무료로 서비스를 제공해 드립니다.
TensorFlow Privacy 출시: 훈련 데이터에 대한 차등적 개인정보 보호를 이용한 학습
2019년 6월 3일 월요일
<블로그 원문은
이곳
에서 확인하실 수 있습니다>
게시자:
Carey Radebaugh
(제품 관리자),
Ulfar Erlingsson
(연구원)
이는 개발자가 더욱 쉽게 개인정보 보호에 관해 머신러닝 모델을 훈련할 뿐 아니라, 연구원 역시 강력한 개인정보 보호 보장으로 머신러닝 분야의 최첨단 기술을 더욱 쉽게 발전시킬 수 있게 해주는 오픈소스 라이브러리입니다.
놀라운 신기술과 새로운 사용자 환경을 만들기 위해 최신 머신러닝 기술 적용이 점차 늘어나고 있는데, 그중 다수는 개인 사진 또는 이메일과 같이 민감한 데이터로부터 책임감 있게 학습하도록 머신을 훈련하는 과정이 포함됩니다. 훈련되는 머신러닝 모델의 매개변수가 특정한 훈련 예시에 대한 사실이 아니라 일반적인 패턴을 인코딩하는 것이 이상적일 것입니다. 이를 보장하고 훈련 데이터가 민감한 데이터일 때 강력한 개인정보 보호를 보장하도록 하기 위해,
차등적 개인정보 보호
이론을 기반으로 하는 기법을 사용할 수 있습니다. 특히, 사용자의 데이터를 바탕으로 훈련할 때 그러한 기법은 모델이 특정 사용자에 관한 세부 정보를 학습하거나 기억하지 못하도록 하는 강력한 수학적 보증을 제공합니다. 특히 딥 러닝의 경우, 스레숄딩 및 데이터 생략과 같은 기존의 기법을 사용하든
TensorFlow Federated
학습과 같은 새로운 기법을 사용하든 상관없이 추가적인 보장으로 다른 개인정보 보호 기법에서 제공되는 보호 기능을 효과적으로 강화할 수 있습니다.
Google은 여러 해 동안 차등적 개인정보 보호에 관한 기초적 연구뿐 아니라 실용적인 차등적 개인정보 보호 메커니즘의 개발에서 모두 가장 앞서있었으며(예시는
여기
와
여기
참조), 최근에는 머신러닝 애플리케이션(
이곳
,
이곳
또는
이곳
의 연구 논문 참조)에 주력하고 있습니다. Google은 작년에 머신러닝 시스템 및 제품의 책임감 있는 개발을 위한 우리의 권장 관행을 상술한
Responsible AI Practices
를 공표했으며, 이 공표가 있기 전에도 외부 개발자가 자체 제품에 이러한 관행을 쉽게 적용할 수 있도록 하기 위해 애썼습니다.
우리가 기울인 노력의 한 가지 결실이 바로 오늘 발표하는
TensorFlow Privacy
와 그 개인정보 메커니즘을 더 자세히 설명하기 위해 업데이트한
기술 백서
입니다.
TensorFlow Privacy를 사용하는 데는 개인정보 보호 또는 그 기초가 되는 수학적 이론에 대한 어떠한 전문 지식도 필요하지 않아야 할 것입니다. 또한 표준 TensorFlow 메커니즘을 사용하는 개발자가 자신의 모델 아키텍처, 훈련 절차 또는 프로세스를 변경할 필요가 없어야 할 것입니다. 그 대신, 개발자가 자신의 훈련 데이터에 대한 개인정보를 보호하는 모델을 훈련하려면 몇 가지 간단하게 코드를 변경하고 개인정보 보호와 관련된 하이퍼 매개변수를 조정하는 것으로 충분한 경우가 많습니다.
예: 개인정보 보호를 이용한 언어 학습
차등적으로 개인정보 보호 훈련을 하는 구체적인 예로서, 텍스트 시퀀스에 대해 문자 수준에서 되풀이되는 언어 모델의 훈련을 생각해 봅시다. 신경망을 사용한 언어 모델링은 무수한 애플리케이션에 사용되는 필수적인 딥 러닝 작업이며, 애플리케이션 중 다수는
민감한 데이터를 사용한 훈련
을 기반으로 합니다. 우리는 TensorFlow Privacy
GitHub 저장소
의 예시 코드를 기반으로 똑같은 모델 아키텍처를 사용하여 두 가지 모델을 훈련하는데, 하나는 표준 방식으로, 다른 하나는 차등적 개인정보 보호 방식으로 훈련합니다.
두 모델 모두 표준
Penn Treebank 훈련 데이터세트
에서 선택한 금융 뉴스 기사의 영어 모델링에서 잘 작동합니다. 하지만 두 모델 사이에서 발생하는 약간의 차이점이 언어 분포의 본질적이고 핵심적인 측면을 포착하지 못해서라면, 차등적 개인정보 보호 모델의 유용성에 의구심을 갖게 될 수 있습니다. (반면에, 개인정보 보호 모델이 훈련 데이터에서 몇 가지 난해하고 독특한 세부 정보를 포착하지 못하더라도 모델의 유용성이 여전히 괜찮을 수 있습니다.)
개인정보 보호 모델의 유용성을 확인하기 위해, 훈련 데이터 및 테스트 데이터 모음에 대한 두 모델의 성능을 살펴보고 사람들이 동의하는 문장과 동의하지 않는 문장의 집합을 검사할 수 있습니다. 그 공통성을 살펴보기 위해, 우리는 모델링된 문장에 대한 유사성을 평가하여 두 모델 모두 동일한 핵심 언어를 허용하는지 확인할 수 있는데, 이 경우에는 두 모델 모두 훈련 데이터 시퀀스의 98% 이상을 허용하고 높은 점수를 매깁니다(즉, 혼잡도가 낮음). 예를 들어 두 모델 모두 다음과 같은 금융 뉴스 문장에 높은 점수를 매깁니다(기울임꼴로 표시된 문장으로, 분명히 우리가 학습하려는 분포에 있으므로).
there was little turnover and nothing to stimulate the marketsouth korea and japan continue to be profitablemerchant banks were stronger across the board
그 차이점을 살펴보기 위해, 우리는 두 모델의 점수가 크게 달라지는 훈련 데이터 문장을 검사할 수 있습니다. 예를 들어 다음 세 개의 훈련 데이터 문장은 표준 훈련 중에 효과적으로 기억되므로 일반 언어 모델에서 높은 점수를 매기고 허용합니다. 하지만 차등적 개인정보 보호 모델에서는 이런 문장의 점수를 매우 낮게 매기고 허용하지 않습니다. (아래에서 굵게 표시된 문장으로, 우리가 학습하려는 언어 분포를 벗어난 문장으로 보이므로)
aer banknote berlitz calloway … ssangyong swapo wachterthe naczelnik stands toomy god and i know i am correct and innocent
위 문장은 모두 금융 뉴스치고는 무척 이상해 보입니다. 게다가 이들 문장은 개인정보 보호에 어울릴법한 후보 문장으로 보입니다. 이처럼 흔치 않고 이상해 보이는 문장은 민감한 데이터에 대해 훈련된 모델에서 개인 정보를 식별하거나 드러내는 것일 수 있기 때문입니다. 세 문장 중 첫 번째 문장은 기술적 이유로 훈련 데이터에서 발생하는 무작위적 단어로 구성된 긴 시퀀스이고, 두 번째 문장은 일부가 폴란드어로 되어 있고, 세 번째 문장은 자연스러운 보이는 영어이긴 하지만 모델링 대상인 금융 뉴스에 어울리는 언어는 아닙니다. 이런 예문은 수동으로 선택한 것이지만, 전체 검사 결과 차등적 개인정보 보호 모델에서 허용하지 않는 훈련 데이터 문장은 일반적으로 금융 뉴스 기사의 정상적인 언어 분포에서 벗어난다는 점이 확인됩니다. 더구나 우리는 테스트 데이터를 평가함으로써 이처럼 난해한 문장이 개인정보 보호 모델과 그렇지 않은 모델 간의 질적 손실(혼잡도 1.13 대 1.19)의 이유라는 점을 확인할 수 있습니다. 따라서 명목상의 혼잡도 손실이 약 6%임에도, 개인정보 보호 모델의 성능은 우리가 관심을 두는 문장에 대해 거의 감소되지 않을 수도 있습니다.
분명한 점은, 최소한 부분적으로는 두 모델의 차이가 개인정보 보호 모델이 훈련 데이터에 대해 비정상적이고 보기 드문 시퀀스를 기억하지 못한다는 점에서 비롯된다는 사실입니다. 우리는 신경망에서 의도치 않은 기억의 평가에 대해
이전에 수행했던 작업
을 활용하여 이 효과를 정량화할 수 있는데, 이 신경망에서는 독특하고 무작위적인
canary
문장을 훈련 데이터에 의도적으로 삽입하여 훈련된 모델에 미치는 canary의 영향을 평가합니다. 이 경우에는 단 하나의 무작위적인 canary 문장을 삽입하는 것으로 충분한데, 개인정보 보호 모델이 아닌 모델이 그 canary를 완전히 기억하기 때문입니다. 하지만 차등적 개인정보 보호로 훈련된 모델은 삽입된 임의의 단일 canary를 직면할 경우 구분할 수 없습니다. 개인정보 보호 모델은 훈련 데이터에 똑같은 무작위 시퀀스가 많이 존재할 때만 그에 관해 학습할 것입니다. 이는 명백히 모든 유형의 머신러닝 모델에 있어 진실이며(예: 위의 MNIST 훈련 데이터에서 드문 예를 포함한 그림 참조), 모델의 개인정보 보호에 대한 수학적이고 공식적인 상한이 이론적으로 어떤 보장을 하기에는 단연코 너무 클 때도 여전히 진실입니다.
TensorFlow Privacy는 이와 같이 드문 세부 사항을 기억하지 못하게 할 수 있고, 위 그림에 시각화되어 있는 바와 같이 두 머신러닝 모델이 (사용자의 데이터와 같은) 몇몇 예를 훈련에 사용했는지 여부를 구분할 수 없을 것이라 보장할 수 있습니다.
다음 단계와 추가 참고 자료
TensorFlow Privacy를 시작하려면
GitHub 저장소
에 있는 예제와 가이드를 살펴보세요. 특히 여기에는 기존의 TensorFlow 메커니즘뿐 아니라 TensorFlow 2.0 및 Keras의 더 새롭고 다양한
eager
접근 방식을 사용하는 MNIST 벤치마크 머신러닝 작업의 차등적 개인정보 보호 훈련을 수행하는 방법에 대한 자세한 가이드가 포함됩니다.
TensorFlow Privacy를 활용하는 데 필수적인 중요하고 새로운 단계는 그라데이션을 만들고 잘라내고 노이즈 처리하는 방식을 제어하는 새로운 하이퍼 매개변수 3개를 설정하는 것입니다. 훈련 도중에 차등적 개인정보 보호는 수정된 확률적 경사 하강을 사용하여 모델을 최적화함으로써 보장되는데, 이런 경사 하강은 훈련 데이터 예시에 의해 유도되는 여러 경사 업데이트를 모두 평균화하고 특정 최대 기준에 맞춰 각각의 경사 업데이트를 잘라내고 최종 평균에 가우시안 랜덤 노이즈를 추가합니다. 이러한 학습 스타일은 각 훈련 데이터 예의 효과에 대한 최대 한계를 부여하고 이러한 단 하나의 예가 추가되는 노이즈로 인해 그 자체로 어떠한 영향도 미치지 못하도록 보장합니다. 이러한 세 개의 하이퍼 매개변수 설정은 쉽지 않는 기술일 수 있지만, TensorFlow Privacy 저장소에 구체적인 예에 대해 이들 매개변수를 선택할 수 있는 방법에 관한 지침이 포함되어 있습니다.
우리는 TensorFlow Privacy를 강력한 개인정보 보호의 보장과 함께 머신러닝 모델을 훈련하기 위한 동종 최고의 기술 허브로 발전시키고자 합니다. 따라서 예컨대 모든 이해관계자가 다음과 같이 그 과정에 참여하실 것을 권장합니다.
이 블로그 게시물
이나
이 블로그 게시물
에서 차등적 개인정보 보호와 이를 머신러닝에 적용하는 방법에 관한 자세한 내용을 읽어보세요.
실무자의 경우 자신의 머신러닝 모델에 TensorFlow Privacy를 적용해보고, 하이퍼 매개변수, 모델 용량 및 아키텍처, 활성화 함수 등을 조정하여 개인정보 보호와 유용성 간에 균형을 잡고서 실험해 보세요.
연구원의 경우, 예컨대
모델 매개변수 선택
의 개선된 분석에 의한 강력한 개인정보 보호 보장으로 실제 머신러닝에서 더 큰 발전을 이루어 보세요.
풀 리퀘스트를 제출하여 TensorFlow Privacy에 기여해 주세요.
GitHub
에서 궁금한 점을 물어보고 의견을 공유하거나 문제라고 생각하는 점을 알려주세요.
감사의 말
TensorFlow Privacy에 기여해주신 Galen Andrew, Nicholas Carlini, Steve Chien, Brendan McMahan, Ilya Mironov, Nicolas Papernot 님께 감사드립니다.
Coral 소개: 로컬 AI를 이용한 개발을 위한 Google 플랫폼
2019년 6월 3일 월요일
<블로그 원문은
이곳
에서 확인하실 수 있으며 블로그 번역 리뷰는 신정규(MachineLearning GDE)님이 참여해 주셨습니다>
게시자: Billy Rutledge(이사), Vikram Tank(제품 관리자) - Coral 팀
AI는 모든 사람들에게 이익이 될 수 있는데, 특히 우리 모두가 함께 탐구하고 학습하고 만들어갈 때 그러합니다. 그런 목적을 위해, Google은 TensorFlow 및 AutoML과 같은 도구를 개발하여 모든 사람들이 AI를 이용한 빌드에 접근할 수 있도록 노력하고 있습니다. 오늘 우리는 Coral을 공개 베타로 선보임으로써 사람들이 각자의 아이디어를 구현하고 그에 따른 제품을 만들 수 있는 길을 넓히고자 합니다.
Coral
은 로컬 AI로 지능형 기기를 만들기 위한 플랫폼입니다.
Coral은 프로토타입에서 프로덕션 단계까지 아이디어를 쉽게 확장할 수 있는 완전한 로컬 AI 툴킷을 제공합니다. Coral은 기기의 로컬 위치에서 신경망(NN)을 만들고 훈련하고 실행하는 데 도움이 되는 하드웨어 컴포넌트, 소프트웨어 도구 및 콘텐츠를 포함하고 있습니다. 우리는 NN을 로컬에서 가속하는 데 초점을 맞추므로, 우리의 제품은 빠른 속도의 신경망 성능과 향상된 개인정보 보호를 모두 전력 효율적인 패키지를 통해 제공합니다. 아이디어를 제품으로 구현해 시장에 내놓을 수 있도록, Coral 컴포넌트는 빠르게 프로토타입을 만들고 생산 라인으로 손쉽게 확장하도록 설계되었습니다.
우리의 첫 하드웨어 컴포넌트는 새로운
Edge TPU
가 특징으로, Google이 저전력 기기를 위한 고성능 ML 추론을 제공하기 위해 설계한 소형 ASIC입니다. 예를 들어 Edge TPU는 MobileNet V2와 같은 최첨단 모바일 비전 모델을 전력 효율적인 방식으로 100fps 이상에서 실행할 수 있습니다.
Coral Camera Module, Dev Board, USB Accelerator
신제품 개발을 위한
Coral Dev Board
는 캐리어 보드에 연결되는 SoM(System on Module)으로 설계된 완전 통합형 시스템입니다. SoM은 강력한 NXP iMX8M SoC를 (Wi-Fi, 블루투스, RAM, eMMC 메모리뿐 아니라) Edge TPU 보조 프로세서와 합친 것입니다. 컴퓨터 비전 애플리케이션의 프로토타입을 더 쉽게 만들기 위해, 우리는 MIPI 인터페이스를 통해 Dev Board에 연결하는
Camera
도 제공합니다.
Edge TPU를 기존 설계에 추가하기 위해,
Coral USB Accelerator
를 사용하면 USB 2.0 및 3.0을 통해 (Raspberry Pi 보드를 포함한) 어떤 Linux 시스템에든 손쉽게 통합할 수 있습니다. 곧 출시될
PCIe 버전
은 M.2 또는 미니 PCIe 확장 슬롯에 맞게 나올 것입니다.
프로덕션 단계로 확장할 준비가 되면 대량 구매에 대해 우리는
SOM from the Dev Board
와 Accelerator의 PCIe 버전을 제공합니다. 통합을 위한 지원을 강화하기 위해, 맞춤 캐리어 보드를 만들고 싶은 분을 위한 베이스보드 회로도를 공개하겠습니다.
우리의 소프트웨어 도구는 TensorFlow와 TensorFlow Lite를 기반으로 합니다. TF Lite 모델은 양자화한 다음 Google의 툴체인으로 컴파일하여 Edge TPU에서 직접 실행해야 합니다. 시작하시는 데 도움이 되도록, 별도의 구성 없이 바로 Coral 보드와 함께 작동하도록 사전 훈련 및 컴파일된 12개의 모델뿐 아니라 이들 모델을 다시 훈련할 수 있게 해주는 소프트웨어 도구도 공유하겠습니다.
Coral로 연결된 기기를 만드는 개발자는 우리의 제품을
Google Cloud IoT
와 함께 사용하실 수 있습니다. Google Cloud IoT는 머신러닝 기능을 이용한 관리형 에지 컴퓨팅을 위해 클라우드 서비스를 온디바이스 소프트웨어 스택과 결합합니다.
현재
g.co/coral
에서 제품 설명서, 데이터시트 및 샘플 코드와 함께 Coral 제품을 구하실 수 있습니다. 이번 공개 베타 기간 중에 우리의 제품을 체험해보시기 바라며, 공식 출시 시점에서 더 많은 정보를 공유하기를 기대합니다.
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google I/O
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2026
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2025
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2024
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed