AI 기능을 통합하려는 앱 개발자를 위해 Microsoft Windows 는 로컬, 디바이스 내 처리 및 확장 가능한 클라우드 기반 솔루션을 모두 지원하는 포괄적이고 유연한 플랫폼을 제공합니다.
클라우드 기반 및 로컬 AI 모델 중에서 선택하는 것은 특정 요구 사항 및 우선 순위에 따라 달라집니다. 많은 프로덕션 앱은 하이브리드 전략을 사용합니다. 먼저 로컬 Windows AI API 또는 로컬 모델을 시도한 다음, 모델이 설치되지 않았거나, 디바이스가 지원되지 않거나, 사용자가 모델 다운로드에 동의하지 않거나, 작업에 더 큰 모델이 필요한 경우 클라우드 엔드포인트로 대체합니다.
고려해야 할 요소는 다음과 같습니다.
- 데이터 개인 정보 보호, 규정 준수 및 보안
- 리소스 가용성
- 접근성 및 공동 작업
- 비용
- 유지 관리 및 업데이트
- 성능 및 대기 시간
- 확장성
- 연결 요구 사항
- 모델 크기 및 복잡성
- 툴링 및 관련 생태계
- 사용자 지정 및 제어
앱 개발자를 위한 주요 의사 결정 요소
데이터 개인 정보, 규정 준수 및 보안
로컬, 온-프레미스: 데이터가 디바이스에 남아 있기 때문에 로컬로 모델을 실행하면 사용자에게 데이터 보안 책임이 있는 보안 및 개인 정보 보호와 관련된 이점을 제공할 수 있습니다. 개발자는 업데이트를 관리하고, 호환성을 보장하며, 보안 취약성을 모니터링할 책임이 있습니다.
Cloud: 클라우드 공급자는 강력한 보안 조치를 제공하지만 데이터를 클라우드로 전송해야 하므로 경우에 따라 비즈니스 또는 앱 서비스 유지 관리자에 대한 데이터 개인 정보 보호 문제가 발생할 수 있습니다. 또한 클라우드로 데이터를 보내는 것은 데이터의 특성 및 앱이 작동하는 지역에 따라 GDPR 또는 HIPAA와 같은 데이터 보호 규정을 준수해야 합니다. 클라우드 공급자는 일반적으로 보안 업데이트 및 유지 관리를 처리하지만 사용자는 보안 API를 사용하고 데이터 처리에 대한 모범 사례를 따르는지 확인해야 합니다.
리소스 가용성
로컬, 온-프레미스: 모델 실행은 CPU, GPU, NPU, 메모리 및 스토리지 용량을 포함하여 사용 중인 디바이스에서 사용할 수 있는 리소스에 따라 달라집니다. 이는 디바이스에 높은 계산 능력이나 충분한 스토리지가 없는 경우 제한될 수 있습니다. SLLM(소형 언어 모델)은 디바이스 Phi에서 로컬로 사용하기에 더 적합합니다. Copilot+ PC는 Microsoft Foundry on Windows가 지원하는 즉시 사용 가능한 AI 기능과 기본 제공 모델을 제공합니다.
클라우드:Azure AI Services와 같은 클라우드 플랫폼은 확장 가능한 리소스를 제공합니다. 필요한 만큼의 계산 능력이나 스토리지를 사용할 수 있으며 사용하는 것에 대해서만 비용을 지불할 수 있습니다. OpenAI 언어 모델과 같은 LLM(대규모 언어 모델)에는 더 많은 리소스가 필요하지만 더 강력합니다.
접근성 및 공동 작업
로컬, 온-프레미스: 모델 및 데이터는 수동으로 공유하지 않는 한 디바이스에서만 액세스할 수 있습니다. 이로 인해 모델 데이터에 대한 공동 작업이 더 어려워질 가능성이 있습니다.
클라우드: 인터넷 연결을 통해 어디서나 모델 및 데이터에 액세스할 수 있습니다. 이는 공동 작업 시나리오에 더 적합할 수 있습니다.
비용
로컬, 온-프레미스: 디바이스 하드웨어에 대한 초기 투자 외에는 추가 비용이 없습니다.
클라우드: 클라우드 플랫폼은 종량제 모델에서 작동하지만 사용된 리소스 및 사용 기간에 따라 비용이 누적됩니다.
유지 관리 및 업데이트
로컬, 온-프레미스: 사용자는 시스템을 유지 관리하고 업데이트를 설치할 책임이 있습니다.
클라우드: 유지 관리, 시스템 업데이트 및 새 기능 업데이트는 클라우드 서비스 공급자에 의해 처리되어 사용자의 유지 관리 오버헤드를 줄입니다.
성능 및 대기 시간
로컬, 온-프레미스: 네트워크를 통해 데이터를 보낼 필요가 없으므로 모델을 로컬로 실행하면 대기 시간을 줄일 수 있습니다. 그러나 성능은 디바이스의 하드웨어 기능에 의해 제한됩니다.
구름: 클라우드 기반 모델은 강력한 하드웨어를 활용할 수 있지만 네트워크 통신으로 인해 대기 시간이 발생할 수 있습니다. 성능은 사용자의 인터넷 연결 및 클라우드 서비스의 응답 시간에 따라 달라질 수 있습니다.
확장성
로컬, 온-프레미스: 로컬 디바이스에서 모델을 크기 조정하려면 상당한 하드웨어 업그레이드 또는 더 많은 디바이스 추가가 필요할 수 있으며, 이는 비용이 많이 들고 시간이 많이 걸릴 수 있습니다.
구름: 클라우드 플랫폼은 간편한 확장성을 제공하므로 물리적 하드웨어 변경 없이도 수요에 따라 리소스를 신속하게 조정할 수 있습니다.
연결 요구 사항
로컬, 온-프레미스: 로컬 디바이스는 모델을 실행하기 위해 인터넷 연결이 필요하지 않으므로 연결이 제한된 환경에서 도움이 될 수 있습니다.
구름: 클라우드 기반 모델은 액세스를 위해 안정적인 인터넷 연결이 필요하며 네트워크 문제의 영향을 받을 수 있습니다.
런타임 가용성 및 폴백
로컬, 온-프레미스: 로컬 AI 기능은 하드웨어, 버전, WindowsWindows 앱 SDK 버전, 지역 및 선택적 모델 설치 여부에 따라 달라질 수 있습니다. 로컬 AI 기능을 호출하기 전에 준비 상태를 확인하고 필요한 모델 다운로드 또는 동의 흐름을 안내합니다. Windows AI API의 경우 Windows AI API 시작하기 및 개별 API 페이지에 문서화된 API별 준비 패턴을 사용하세요.
클라우드: 로컬 모델이 준비되지 않았거나 현재 디바이스에서 지원되지 않는 경우 클라우드 엔드포인트가 대체를 제공할 수 있습니다. 개인 정보 보호에 민감한 시나리오에 대해 대체가 자동, 사용자 제어 또는 비활성화되는지 여부를 결정합니다. 데이터가 디바이스를 떠날 때 UI에서 설명하는지 확인합니다.
모델 크기 및 복잡성
로컬, 온-프레미스: 로컬 디바이스는 하드웨어 제약 조건으로 인해 실행할 수 있는 모델의 크기와 복잡성에 제한이 있을 수 있습니다. 같은 Phi작은 모델은 로컬 실행에 더 적합합니다.
구름: 클라우드 플랫폼은 확장 가능한 인프라로 인해 OpenAI에서 제공하는 모델과 같이 더 크고 복잡한 모델을 처리할 수 있습니다.
도구 및 관련 에코시스템
로컬, 온-프레미스: ML과 같은 Microsoft FoundryMicrosoft Foundry on WindowsWindows 로컬 AI 솔루션은 Foundry Local앱 SDK 및 ONNX 런타임과 Windows 통합되어 개발자가 최소한의 외부 종속성으로 데스크톱 또는 에지 앱에 직접 모델을 포함할 수 있습니다.
클라우드:Microsoft Foundry, Azure AI Services, 및 Azure OpenAI Service와 같은 클라우드 AI 솔루션은 AI 애플리케이션을 구축하기 위한 포괄적인 API 및 SDK 집합을 제공합니다. 이러한 서비스는 DevOps, GitHubAzure, 의미 체계 커널 및 기타 Copilot 서비스와 원활하게 Azure 통합되도록 설계되어 엔드투엔드 오케스트레이션, 모델 배포 및 대규모 모니터링을 가능하게 합니다.
사용자 지정 및 제어
로컬, 온-프레미스: 로컬 모델은 높은 수준의 전문 지식 없이도 기본으로 사용할 수 있습니다. Microsoft Foundry on Windows 는 사용할 준비가 된 모델을 Phi Silica 제공합니다. Windows 또는 ML을 사용하면 개발자가 ONNX 런타임으로 학습된 모델과 같은 사용자 지정 모델을 디바이스에서 Windows 직접 실행할 수 있습니다. 이를 통해 모델 및 해당 동작에 대한 높은 수준의 제어를 제공하여 특정 사용 사례에 따라 미세 조정 및 최적화를 수행할 수 있습니다. Foundry Local 또한 개발자는 디바이스에서 Windows 모델을 로컬로 실행하여 모델 및 해당 동작에 대한 높은 수준의 제어를 제공할 수 있습니다.
구름: 또한 클라우드 기반 모델은 즉시 사용할 수 있는 옵션과 사용자 지정 가능한 옵션을 모두 제공하므로 개발자는 미리 학습된 기능을 활용하면서도 특정 요구 사항에 맞게 모델을 조정할 수 있습니다. Microsoft Foundry 는 엔터프라이즈 AI 운영, 모델 작성기 및 애플리케이션 개발을 위한 통합 Azure 된 서비스로서의 플랫폼 제품입니다. 이 기반은 프로덕션 수준의 인프라와 친숙한 인터페이스를 결합하여 개발자가 인프라를 관리하지 않고 애플리케이션을 빌드하는 데 집중할 수 있도록 합니다.
클라우드 AI 샘플
클라우드 기반 솔루션이 앱 시나리오에서 Windows 더 잘 작동하는 경우 아래 자습서 중 일부에 관심이 있을 수 있습니다.
많은 API는 클라우드 기반 모델에 액세스하여 앱의 Windows AI 기능을 구동하는 데 사용할 수 있습니다. 이러한 모델은 사용자 지정되거나 즉시 사용할 수 있습니다. 클라우드 기반 모델을 사용하면 리소스 집약적 작업을 클라우드로 위임하여 앱이 간소화된 상태를 유지할 수 있습니다. Microsoft 또는 OpenAI에서 제공하는 클라우드 기반 AI 지원 API를 추가하는 데 도움이 되는 몇 가지 리소스는 다음과 같습니다.
WinUI 3 / Windows 에 OpenAI 채팅 완료 추가 앱 SDK 데스크톱 앱: 클라우드 기반 OpenAI ChatGPT 완성 기능을 WinUI 3/ Windows 앱 SDK 데스크톱 앱에 통합하는 방법에 대한 자습서입니다.
WinUI 3 / Windows 에 DALL-E 추가 앱 SDK 데스크톱 앱: 클라우드 기반 OpenAI DALL-E 이미지 생성 기능을 WinUI 3/ Windows 앱 SDK 데스크톱 앱에 통합하는 방법에 대한 자습서입니다.
Azure OpenAI 서비스: 앱이 추가된 보안 및 엔터프라이즈 기능을 Windows사용하여 GPT-4, GPT-4 Turbo with Vision, GPT-3.5-Turbo, DALLE-3 또는 Embeddings 모델 시리즈와 같은 OpenAI 모델에 액세스하려면 Azure 이 Azure OpenAI 설명서에서 지침을 찾을 수 있습니다.
Azure AI Services: Azure 인기 있는 개발 언어로 REST API 및 클라이언트 라이브러리 SDK를 통해 사용할 수 있는 전체 AI 서비스 제품군을 제공합니다. 자세한 내용은 각 서비스의 설명서를 참조하세요. 이러한 클라우드 기반 서비스를 통해 개발자와 조직은 기본 제공 및 미리 빌드되고 사용자 지정 가능한 API 및 모델을 사용하여 지능적이고 최첨단의 시장 준비 및 책임 있는 애플리케이션을 신속하게 만들 수 있습니다. 예제 애플리케이션에는 대화, 검색, 모니터링, 번역, 음성, 시각, 의사 결정에 대한 자연어 처리가 포함됩니다.
하이브리드 로컬/클라우드 경로 디자인
앱이 사용 가능한 경우 로컬 유추를 활용해야 하지만 지원되지 않는 디바이스에서 또는 로컬 모델이 준비되기 전에 유용한 환경을 제공해야 하는 경우 하이브리드 경로를 사용합니다.
- 먼저 로컬 기능을 선택합니다. 상황에 맞으면 Windows AI API로 시작하고, 특정 모델을 실행해야 하면 Foundry Local ML / Windows을 사용하세요.
- 사용하기 전에 준비 상태를 확인합니다. 시작 시 또는 기능이 표시되기 전에 로컬 기능의 준비 상태를 쿼리합니다. API에서 기능이 지원되지 않거나 설치되지 않았거나 다운로드가 필요하다고 보고하는 경우 맹목적으로 호출하지 마세요.
- 로컬 모델을 다운로드해야 하는 경우 동의를 요청합니다. 일부 로컬 모델은 선택 사항이며 몇 GB일 수 있습니다. 다운로드 크기, 모델이 필요한 이유 및 앱 없이도 앱을 계속할 수 있는지 여부를 설명합니다.
- 클라우드 폴백을 정의하세요. 로컬 모델이 준비되지 않은 경우 사용자와 조직이 데이터를 디바이스에서 나가도록 허용하는 경우에만 클라우드 엔드포인트를 호출합니다. 앱의 나머지 부분도 유추가 실행되는 위치에 의존하지 않도록 로컬 및 클라우드 경로를 동일한 앱 수준 추상화 뒤에 유지합니다.
- 동작을 관찰 가능한 상태로 유지합니다. 조직에서 데이터 처리를 승인하지 않은 경우 로깅 프롬프트, 토큰 또는 중요한 콘텐츠 없이 사용된 경로, 준비 오류, 모델 다운로드 결과 및 클라우드 대체 오류를 기록합니다.
하이브리드 대체 의사 결정 흐름
이 흐름을 시작점으로 사용합니다.
- 사용자가 AI 기능을 시작할 때 로컬 AI 기능이 작업에 적합한지 확인합니다.
- 작업에 적합한 로컬 기능이 없는 경우 클라우드 AI 또는 다른 서비스를 사용합니다.
- 로컬 기능이 작업에 맞는 경우 현재 디바이스에서 기능이 준비되었는지 확인합니다.
- 로컬 기능이 준비되면 로컬 유추를 실행합니다.
- 로컬 기능에 모델 다운로드가 필요한 경우 다운로드를 시작하기 전에 사용자 동의를 요청합니다.
- 사용자가 동의하는 경우 모델을 다운로드하거나 준비한 다음 로컬 유추를 다시 시도합니다.
- 사용자가 동의하지 않거나 로컬 기능이 지원되지 않는 경우 클라우드 대체가 시나리오에 허용되는지 확인합니다.
- 클라우드 대체가 허용되는 경우 클라우드 경로를 사용합니다.
- 클라우드 대체가 허용되지 않는 경우 디바이스, 모델 또는 정책 요구 사항을 설명하고 기능을 사용하지 않도록 설정하거나 숨깁니다.
로컬 준비 상태에 대한 자세한 내용은 Windows AI API, Windows AI API 시작하기, Windows 및 Foundry Local을 참조하세요.