Windows에서 AI를 사용하는 방법에 대한 질문과 대답

일반

DirectML이란?

DirectML은 AMD, Intel, NVIDIA 및 Qualcomm과 같은 공급업체의 모든 DirectX 12 지원 GPU를 포함하여 지원되는 광범위한 하드웨어 및 드라이버에서 일반적인 기계 학습 작업에 GPU 가속을 제공하는 기계 학습용 하위 수준 API입니다. DirectML은 WinML의 구성 요소입니다.

ONNX란?

Open Network Neural Exchange 또는 ONNX는 ML 모델을 나타내는 개방형 표준 형식입니다. PyTorch, TensorFlow, SciKit-Learn, Keras, Chainer, MATLAB 등과 같은 인기 있는 ML 모델 프레임워크를 표준 ONNX 형식으로 내보내거나 변환할 수 있습니다. ONNX 형식이 되면 모델은 다양한 플랫폼 및 디바이스에서 실행할 수 있습니다. ONNX는 학습된 것과 다른 형식으로 ML 모델을 사용하는 데 적합합니다.

ORT란?

ONNX 런타임 또는 ORT는 하드웨어 가속기(디바이스 CPU, GPU 또는 NPU)를 지원하는 다양한 프레임워크(PyTorch, TensorFlow 등)에서 모델을 실행하기 위한 통합 런타임 도구입니다.

ONNX는 PyTorch 또는 TensorFlow와 같은 다른 ML 프레임워크와 어떻게 다른가요?

PyTorch 및 TensorFlow는 AI 애플리케이션에서 사용되는 딥 러닝 모델을 개발, 학습 및 실행하는 데 사용됩니다. PyTorch는 연구에 자주 사용되며 TensorFlow는 산업 배포에 자주 사용되며 ONNX는 필요에 따라 프레임워크 간에 전환하고 플랫폼 간에 호환될 수 있도록 격차를 해소하는 표준화된 모델 교환 형식 입니다.

NPU란? CPU 또는 GPU와 어떻게 다른가요?

신경 처리 장치 또는 NPU는 AI 작업을 수행하도록 특별히 설계된 전용 AI 칩입니다. NPU의 초점은 CPU 또는 GPU의 포커스와 다릅니다. 중앙 처리 장치 또는 CPU는 명령 및 범용 계산을 실행하는 컴퓨터의 기본 프로세서입니다. 그래픽 처리 장치 또는 GPU는 그래픽 렌더링을 위해 설계되고 병렬 처리에 최적화된 특수 프로세서입니다. 비디오 편집 및 게임 작업을 위해 복잡한 이미지를 렌더링할 수 있습니다.

NPU는 딥 러닝 알고리즘을 가속화하도록 설계되었으며 컴퓨터의 CPU 또는 GPU에서 일부 작업을 제거할 수 있으므로 디바이스가 보다 효율적으로 작동할 수 있습니다. NPU는 신경망 작업을 가속화하기 위해 특별히 제작되었습니다. 대량의 데이터를 병렬로 처리하는 데 탁월하므로 이미지 인식 또는 자연어 처리와 같은 일반적인 AI 작업에 적합합니다. 예를 들어 이미지 인식 작업 중에 NPU는 개체 감지 또는 이미지 가속을 담당할 수 있지만 GPU는 이미지 렌더링을 담당합니다.

디바이스에 어떤 종류의 CPU, GPU 또는 NPU가 있는지 어떻게 알 수 있나요?

Windows 디바이스에서 CPU, GPU 또는 NPU의 유형 및 성능에 검사 작업 관리자(Ctrl + Alt + 삭제)를 연 다음 성능 탭을 선택하면 컴퓨터의 CPU, 메모리, Wi-Fi, GPU 및/또는 NPU가 나열되고 속도, 사용률 및 기타 데이터에 대한 정보와 함께 표시됩니다.

WinML이란?

WinML 또는 Windows Machine Learning은 개발자가 디바이스의 기능을 활용하여 모델 유추를 수행할 수 있도록 하는 Windows 디바이스에 ML(하드웨어 가속 기계 학습) 모델을 배포하기 위한 고급 API입니다. 모델 로드, 바인딩 및 평가에 중점을 두고 있습니다. WinML은 ONNX 모델 형식을 사용합니다.

유용한 AI 개념

LLM(큰 언어 모델)이란?

LLM은 범용 언어 생성 및 이해를 달성하는 기능으로 유명한 ML(Machine Learning) 모델의 한 유형입니다. LLM은 계산 집약적인 자체 감독 및 반 감독 학습 프로세스 중에 방대한 양의 텍스트 문서에서 통계 관계를 학습하여 기능을 획득하는 인공 신경망입니다. LLM은 일부 입력 텍스트가 제공되면 일관되고 상황에 맞는 문장을 만들 가능성이 가장 큰 단어(또는 "토큰")를 생성하는 생성 AI의 한 형태인 텍스트 생성에 자주 사용됩니다. 매개 변수가 적고 용량이 제한되는 SLLM(Small Language Models)도 있지만 더 효율적일 수 있으며(계산 리소스가 덜 필요함), 비용 효율적이고 특정 작업에 이상적입니다기본.

ML 모델 학습이란?

Machine Learning에서 모델 학습에는 데이터 세트를 모델(LLM 또는 SLM)에 공급하여 모델이 해당 데이터를 기반으로 예측 또는 결정을 내릴 수 있도록 데이터에서 학습하고 패턴을 인식할 수 있도록 하는 작업이 포함됩니다. 또한 모델 매개 변수를 반복적으로 조정하여 성능을 최적화할 수도 있습니다.

추론이란?

학습된 기계 학습 모델을 사용하여 보이지 않는 새 데이터에 대한 예측 또는 분류를 만드는 프로세스를 "추론"이라고 합니다. 데이터 세트에서 언어 모델을 학습하고 기본 패턴 및 관계를 학습하면 실제 시나리오에 이 지식을 적용할 준비가 된 것입니다. 유추는 AI 모델의 진실의 순간이며, 학습 중에 학습된 정보를 얼마나 잘 적용하여 예측을 하거나 작업을 해결할 수 있는지를 테스트합니다. 유추를 위해 기존 모델을 사용하는 프로세스는 학습 단계와 다르며, 학습 및 유효성 검사 데이터를 사용하여 모델을 개발하고 해당 매개 변수를 미세 조정해야 합니다.

ML 모델 미세 조정이란?

미세 조정은 미리 학습된 모델이 특정 작업을 수행하도록 조정되는 기계 학습에서 중요한 단계입니다. 모델을 처음부터 학습시키는 대신, 미세 조정은 기존 모델(일반적으로 큰 데이터 세트에서 학습됨)으로 시작하고 더 작은 작업별 데이터 세트를 사용하여 해당 매개 변수를 조정합니다. 미세 조정을 통해 모델은 사전 학습 중에 얻은 일반 지식을 유지하면서 작업별 기능을 학습하여 특정 애플리케이션에 대한 성능이 향상됩니다.

프롬프트 엔지니어링이란?

프롬프트 엔지니어링은 언어 모델의 동작과 응답을 형성하기 위해 생성 AI와 함께 사용되는 전략적 접근 방식입니다. 언어 모델(예: GPT-3 또는 GPT-4)에서 원하는 결과를 얻기 위해 입력 프롬프트 또는 쿼리를 신중하게 작성해야 합니다. 효과적인 프롬프트를 디자인하여 ML 모델을 안내하여 원하는 응답 유형을 생성할 수 있습니다. 기술에는 표현 조정, 컨텍스트 지정 또는 컨트롤 코드를 사용하여 모델 출력에 영향을 주는 것이 포함됩니다.

ML 모델 학습과 관련하여 하드웨어 가속이란?

하드웨어 가속은 범용 CPU를 통해 달성할 수 있는 것 이상으로 AI 애플리케이션의 속도를 높이기 위해 설계된 특수 컴퓨터 하드웨어를 사용하는 것을 의미합니다. 하드웨어 가속은 학습 모델, 예측 만들기 또는 딥 러닝 워크로드에 대한 병렬 처리에서 뛰어난 전용 하드웨어 구성 요소에 대한 계산 오프로드와 같은 기계 학습 작업의 속도, 에너지 효율성 및 전반적인 성능을 향상시킵니다. GPU와 NPU는 모두 하드웨어 가속기의 예입니다.

앱에 AI 기능을 적용하려는 데이터 과학자, ML 엔지니어 및 앱 개발자의 차이점은 무엇인가요?

ML 모델을 만들고 사용하는 프로세스에는 데이터 과학자, 문제 정의, 데이터 수집 및 분석, ML 알고리즘 선택 및 학습, 결과 평가 및 해석의 세 가지 기본 역할이 포함됩니다. Python, R, Jupyter Notebook, TensorFlow, PyTorch 및 scikit-learn과 같은 도구를 사용하여 이러한 작업을 수행합니다. ML 엔지니어: 프로덕션 환경에서 ML 모델을 배포, 모니터링 및 기본 담당합니다. Docker, Kubernetes, Azure ML, AWS SageMaker 및 Google Cloud AI Platform과 같은 도구를 사용하여 ML 모델의 확장성, 안정성 및 보안을 보장합니다. 앱 개발자: 앱 논리, UI 및 UX에 ML 모델을 통합하는 역할을 담당합니다. Windows Copilot 런타임, ONNX 런타임 또는 REST API와 같은 도구를 사용하고 사용자 입력 및 모델 출력을 처리합니다. 각 역할에는 서로 다른 책임과 기술이 포함되지만 최상의 결과를 얻으려면 이러한 역할 간의 협업과 의사 소통이 필요합니다. 프로젝트의 크기와 복잡성에 따라 동일한 사용자 또는 다른 팀에서 이러한 역할을 수행할 수 있습니다.