Trace Id is missing
주 콘텐츠로 건너뛰기

Visual Studio에서 AI를 적용하는 기계 학습 워크플로 자동화

Visual Studio에서 AI를 적용하는 기계 학습 워크플로 자동화

Microsoft 개발자 부서의 데이터 과학자 및 엔지니어가 MLOps(기계 학습 운영) 방식을 사용하여 성공적인 실험을 트래픽이 많은 제품 기능으로 전환한 방법을 확인하세요.

당면 과제: 프로토타입에서 프로덕션 환경으로 대규모 진행

개발자 생산성 향상을 목표로 한 6개월간의 AI 및 기계 학습 실험 후, Microsoft 개발자 부서의 응용 데이터 과학자로 구성된 소규모 팀에서는 C# 개발자가 코딩할 때 호출할 가능성이 큰 C# 메서드를 능동적으로 예측하는 모델을 만들었습니다.

이 성공적인 기계 학습 프로토타입은 AI 지원 코드 예측 기능인 Visual Studio IntelliCode의 기초가 되었지만, 그 전에 Visual Studio 사용자의 요구 사항을 충족하기 위한 엄격한 품질, 가용성 및 스케일링 테스트를 거쳐야 했습니다. 응용과학 팀은 기계 학습 플랫폼을 만들고 해당 프로세스를 자동화하기 위해 엔지니어링 팀을 초대해야 했습니다. 또한 두 팀은 MLOps 문화를 채택하여 DevOps 원칙을 엔드투엔드 기계 학습 수명 주기로 확장해야 했습니다.

응용과학 팀과 엔지니어링 팀은 함께 모델 학습 프로세스에 대해 반복하고 응용과학 팀이 프로토타입 단계에서 수동으로 수행한 작업의 상당 부분을 자동화하는 기계 학습 파이프라인을 빌드했습니다. 해당 파이프라인을 통해 IntelliCode는 6개 프로그래밍 언어를 스케일링하고 지원함으로써 광범위한 오픈 소스 GitHub 리포지토리의 코드 예제를 사용하여 새 모델을 정기적으로 학습시킬 수 있었습니다.

화이트보드 앞에서 대화를 하며 다이어그램을 그리고 있는 두 사람

당면 과제: 프로토타입에서 프로덕션 환경으로 대규모 진행

당면 과제: 클라우드 운영 모델에 적응하기

"앞으로 매월 대규모 데이터 세트를 대상으로 막대한 컴퓨팅 집약적인 모델 학습을 진행해야 했기 때문에 스케일링 가능하고 자동화된 엔드투엔드 기계 학습 파이프라인이 필요했습니다."

Gearard Boland, 데이터 및 AI 팀의 수석 소프트웨어 엔지니어링 관리자

MLOps를 통해 인사이트 활용

IntelliCode가 출시됨에 따라 두 팀에서는 각 고객의 특정 코딩 습관을 기반으로 팀 완성 모델을 만들어 훨씬 더 향상된 사용자 환경을 설계할 기회를 가질 수 있었습니다. 해당 기계 학습 모델을 맞춤화하려면 Visual Studio 또는 Visual Studio Code 사용자가 요청할 때마다 자동으로 주문형으로 모델을 학습시키고 게시해야 합니다. 기존 파이프라인을 사용하여 대규모로 해당 기능을 수행하기 위해 두 팀에서는 Azure Machine LearningAzure Data FactoryAzure BatchAzure Pipelines 등의 Azure 서비스를 이용했습니다.

당면 과제: 클라우드 운영 모델에 적응하기

"사용자 지정 모델에 대한 지원을 추가함에 따라 학습 파이프라인의 확장성과 안정성이 한층 중요해졌습니다."

Gearard Boland, 데이터 및 AI 팀의 수석 소프트웨어 엔지니어링 관리자

서로 다른 두 가지 관점 통합

기계 학습 파이프라인을 빌드하기 위해 두 팀에서는 공통 언어를 말하고 모범 사례를 공유하며 협업을 개선할 수 있도록 공통 표준 및 지침을 정의해야 했습니다. 또한 프로젝트에 대한 서로의 접근 방식을 이해해야 했습니다. 데이터 과학 팀에서는 실험적으로 작업하여 모델 생성에 대해 빠르게 반복했고, 엔지니어링 팀에서는 IntelliCode가 프로덕션 수준 기능에 대한 Visual Studio 사용자의 기대를 충족하도록 하는 데 집중했습니다.

현재, 전체 기계 학습 파이프라인(학습, 평가, 패키징 및 배포)이 자동으로 실행되며 Visual Studio 및 Visual Studio Code 사용자의 월간 모델 생성 요청 9,000개 이상을 처리합니다. 두 팀에서는 해당 파이프라인을 사용하여 다른 Microsoft 제품에 추가 AI 기능을 빌드하고 고객에게 더 풍부한 환경을 제공하는 방법을 찾고 있습니다.

" "

두 팀에서 MLOps를 단계별로 구현한 방법을 확인하세요.