AI(인공 지능) 아키텍처 디자인

AI(인공 지능)는 지능적인 인간 동작을 모방하는 컴퓨터의 기능입니다. AI를 통해 컴퓨터는 이미지를 분석하고, 음성을 이해하고, 자연스러운 방식으로 상호 작용하고, 데이터를 사용하여 예측할 수 있습니다.

인공 지능의 관계를 부모 개념으로 보여 주는 일러스트레이션. AI 내에서는 기계 학습이 있습니다. 기계 학습 내에서는 딥 러닝이 있습니다.

AI 개념

알고리즘

알고리즘은 문제를 해결하거나 데이터 집합을 분석하는 데 사용되는 일련의 계산 및 규칙입니다. 질문에 대한 단계별 지침이 있는 순서도와 같지만 수학 및 프로그래밍 코드로 작성되었습니다. 알고리즘은 애완 동물이 고양이, 개, 물고기, 새 또는 도마뱀인지 결정하는 방법을 설명할 수 있습니다. 훨씬 더 복잡한 또 다른 알고리즘은 문어체 또는 구어체를 식별하고 해당 단어를 분석하고 다른 언어로 번역한 다음 번역의 정확성을 확인하는 방법을 설명할 수 있습니다.

기계 학습

ML(기계 학습)은 수학적 알고리즘을 사용하여 예측 모델을 만드는 AI 기술입니다. 알고리즘은 데이터 필드를 구문 분석하고 모델을 생성하기 위해 그 안에 있는 패턴을 사용하여 해당 데이터에서 "학습"하는 데 사용됩니다. 그런 다음 이러한 모델을 사용하여 정보에 입각한 예측 또는 새로운 데이터에 대한 결정을 내립니다.

예측 모델은 알려진 데이터에 대해 유효성을 검사하고 특정 비즈니스 시나리오에 대해 선택된 성능 메트릭으로 측정한 다음 필요에 따라 조정합니다. 이러한 학습 및 유효성 검사 프로세스를 학습이라고 합니다. 주기적인 재학습을 통해 ML 모델은 시간이 지남에 따라 개선됩니다.

딥 러닝

딥 러닝은 예측이 정확한지 스스로 결정할 수 있는 ML 유형입니다. 또한 알고리즘을 사용하여 데이터를 분석하지만 ML보다 더 큰 규모로 수행합니다.

딥 러닝은 여러 계층의 알고리즘으로 구성된 인공신경망을 사용합니다. 각 계층은 들어오는 데이터를 보고 고유한 특수 분석을 수행하고 다른 계층이 이해할 수 있는 출력을 생성합니다. 그런 다음 이 출력은 다른 알고리즘이 자체 분석을 수행하는 다음 계층으로 전달됩니다.

각 인공신경망에 많은 레이어가 있고 때로는 여러 인공신경망을 사용하여 컴퓨터는 자체 데이터 처리를 통해 학습할 수 있습니다. 이를 위해서는 ML보다 훨씬 더 많은 데이터와 훨씬 더 많은 컴퓨팅 성능이 필요합니다.

은 특정 작업을 수행하도록 설계된 자동화된 소프트웨어 프로그램입니다. 몸이 없는 로봇이라고 생각하시면 됩니다. 초기 봇은 비교적 단순한 알고리즘 논리로 반복적이고 방대한 작업을 처리하는 비교적 단순했습니다. 웹 콘텐츠를 자동으로 탐색하고 카탈로그화하기 위해 검색 엔진에서 사용하는 웹 크롤러를 예로 들 수 있습니다.

봇은 AI 및 기타 기술을 사용하여 인간의 작업과 의사 결정을 모방하는 동시에 텍스트 또는 심지어 음성을 통해 인간과 직접 상호 작용하면서 훨씬 더 정교해졌습니다. 예를 들어 저녁 식사 예약을 할 수 있는 봇, 고객 서비스 상호 작용을 돕는 챗봇(또는 대화형 AI), 속보 또는 과학 데이터를 소셜 미디어 사이트에 게시하는 소셜 봇이 있습니다.

Microsoft는 엔터프라이즈급 봇 개발을 위해 특별히 빌드된 관리되는 서비스인 Azure Bot Service를 제공합니다.

자치 시스템

자율 시스템은 기본 자동화를 넘어 진화하는 새로운 클래스의 일부입니다. 변화가 거의 없거나 전혀 없이(봇처럼) 특정 작업을 반복적으로 수행하는 대신, 자율 컴퓨터는 컴퓨터에 지능을 가져와 변화하는 환경에 적응하여 원하는 목표를 달성할 수 있습니다.

스마트 빌딩은 자율 시스템을 사용하여 조명, 환기, 에어컨 및 보안과 같은 작업을 자동으로 제어합니다. 보다 정교한 예는 붕괴된 광산 갱도를 탐색하는 자율 로봇으로 내부를 철저히 매핑하고, 구조적으로 건전한 부분을 결정하고, 공기의 통기성을 분석하고, 구조가 필요한 갇힌 광부의 징후를 검색합니다. 이 모든 무인 작업은 원격 끝에서 실시간으로 모니터링합니다.

Microsoft AI에 대한 일반 정보

Microsoft AI에 대해 자세히 알아보고 관련 뉴스를 최신 상태로 유지합니다.

고급 아키텍처 유형

미리 빌드된 AI

미리 빌드된 AI는 바로 사용할 수 있는 기성 AI 모델, 서비스 및 API와 같습니다. 이를 통해 데이터를 수집한 다음 자체 모델을 구축, 학습 및 게시할 필요 없이 앱, 웹 사이트 및 흐름에 인텔리전스를 추가할 수 있습니다.

미리 빌드된 AI의 한 가지 예는 그대로 통합되거나 추가 사용자 지정 학습을 위한 기준선을 제공하는 데 사용할 수 있는 미리 학습된 모델일 수 있습니다. 또 다른 예로는 원하는 방식으로 자연어를 처리하기 위해 마음대로 호출할 수 있는 클라우드 기반 API 서비스가 있습니다.

Azure Cognitive Services

Cognitive Services는 개발자에게 미리 빌드된 API 및 통합 도구 키트를 사용하여 보고, 듣고, 말하고, 이해하고 추론할 수 있는 애플리케이션을 만들 수 있는 기회를 제공합니다. Cognitive Services 내의 서비스 카탈로그는 Vision, Speech, Language, Web Search 및 Decision/Recommendation의 5가지 주요 핵심 요소로 분류할 수 있습니다.

AI Builder에서 미리 빌드된 AI 모델

AI Builder는 코딩이나 데이터 과학 기술이 없더라도 앱에 AI를 추가하기 위한 포인트 앤 클릭 인터페이스를 제공하는 Microsoft Power Platform의 새로운 기능입니다. (AI Builder의 일부 기능은 아직 일반 공급용으로 릴리스되지 않았으며 미리 보기 상태로 유지됩니다. 자세한 내용은 지역별 기능 가용성 페이지를 참조하세요.)

자체 모델을 빌드하고 학습시킬 수 있지만 AI Builder는 즉시 사용할 수 있는 일부 미리 빌드된 AI 모델도 제공합니다. 예를 들어 명함의 연락처 정보를 인식하는 미리 빌드된 모델을 기반으로 Microsoft Power Apps에 구성 요소를 추가할 수 있습니다.

사용자 지정 AI

미리 빌드된 AI가 유용하고 점점 더 유연해지지만 AI에서 필요한 것을 얻는 가장 좋은 방법은 아마도 시스템을 직접 빌드하는 것입니다. 이는 분명히 매우 심오하고 복잡한 주제이지만 방금 다룬 것 이상의 몇 가지 기본 개념을 살펴보겠습니다.

코드 언어

AI의 핵심 개념은 알고리즘을 사용하여 데이터를 분석하고 유용한 방식으로 데이터를 설명(또는 채점)하는 모델을 생성하는 것입니다. 알고리즘은 프로그래밍 코드를 사용하여 개발자와 데이터 과학자(때로는 다른 알고리즘)가 작성합니다. AI 개발에 가장 널리 사용되는 프로그래밍 언어 중 두 가지는 현재 Python과 R입니다.

Python은 범용 고급 프로그래밍 언어입니다. 가독성을 강조하는 간단하고 알아보기 쉬운 구문이 있습니다. 컴파일 단계가 없습니다. Python에는 대규모 표준 라이브러리가 있지만 모듈 및 패키지를 추가하는 기능도 지원합니다. 이를 통해 모듈화를 장려하고 필요할 때 기능을 확장할 수 있습니다. Azure에서 쉽게 사용할 수 있는 많은 것을 포함하여 Python용 AI 및 ML 라이브러리의 대규모 에코시스템이 성장하고 있습니다.

R은 통계 컴퓨팅 및 그래픽을 위한 언어이자 환경입니다. 광범위한 사회 추세 및 마케팅 추세를 온라인으로 매핑하는 것부터 금융 및 기후 모델 개발에 이르기까지 모든 것에 사용할 수 있습니다.

Microsoft는 R 프로그래밍 언어를 완전히 수용했으며 R 개발자가 Azure에서 코드를 실행할 수 있는 다양한 옵션을 제공합니다.

학습

학습(Training)은 기계 학습의 핵심입니다. 데이터를 분석한 다음 이로부터 정확한 예측을 수행하는 데 사용되는 모델을 만들기 위해 알고리즘을 "가르치는" 반복적인 프로세스입니다. 실제로 이 프로세스에는 학습, 유효성 검사 및 테스트의 세 가지 일반적인 단계가 있습니다.

학습 단계에서 알려진 데이터의 품질 집합에 태그가 지정되어 개별 필드를 식별할 수 있습니다. 태그가 지정된 데이터는 특정 예측을 수행하도록 구성된 알고리즘에 제공됩니다. 완료되면 알고리즘은 찾은 패턴을 매개 변수 집합으로 설명하는 모델을 출력합니다. 유효성을 검사하는 동안 새로운 데이터에 태그가 지정되고 모델을 테스트하는 데 사용됩니다. 알고리즘은 필요에 따라 조정되며 더 많은 학습을 받을 수 있습니다. 마지막으로 테스트 단계에서는 태그나 미리 선택된 대상 없이 실제 데이터를 사용합니다. 모델의 결과가 정확하다고 가정하면 사용할 준비가 된 것으로 간주되어 배포할 수 있습니다.

하이퍼 매개 변수 조정

하이퍼 매개 변수는 학습 프로세스 자체를 제어하는 데이터 변수입니다. 알고리즘이 작동하는 방식을 제어하는 구성 변수입니다. 따라서 하이퍼 매개 변수는 일반적으로 모델 학습이 시작되기 전에 설정되며 매개 변수와 같은 방식으로 학습 프로세스 내에서 수정되지 않습니다. 하이퍼 매개 변수 튜닝에는 학습 작업 내에서 시도를 실행하고 작업을 얼마나 잘 수행하고 있는지 평가한 다음 필요에 따라 튜닝하는 작업이 포함됩니다. 이 프로세스는 각각 다른 하이퍼 매개 변수 제품군을 사용하여 학습된 여러 모델을 생성합니다.

모델 선택

학습 및 하이퍼 매개 변수 튜닝 프로세스는 수많은 후보 모델을 생성합니다. 여기에는 데이터를 준비하는 데 필요한 노력, 모델의 유연성, 처리 시간의 양, 결과의 정확성 정도 등 다양한 차이가 있을 수 있습니다. 요구 사항과 제약 조건에 가장 잘 맞는 학습된 모델을 선택하는 것을 모델 선택n이라고 하지만 이는 가장 적합한 모델을 선택하는 것만큼이나 학습 전 미리 계획하는 것입니다.

AutoML(자동화된 Machine Learning)

AutoML이라고도 하는 자동화된 Machine Learning은 기계 학습 모델 개발의 시간 소모적이고 반복적인 작업을 자동화하는 프로세스입니다. 프로덕션 준비 ML 모델을 얻는 데 걸리는 시간을 크게 줄일 수 있습니다. 자동화된 ML은 광범위한 프로그래밍이나 도메인 지식 없이도 모델 선택, 하이퍼 매개 변수 튜닝, 모델 학습 및 기타 작업을 지원할 수 있습니다.

점수 매기기

채점예측이라고도 하며 일부 새로운 입력 데이터가 주어지면 학습된 기계 학습 모델을 기반으로 값을 생성하는 프로세스입니다. 만들어진 값 또는 점수는 미래 값의 예측을 나타낼 수 있지만 가능한 범주 또는 결과를 나타낼 수도 있습니다. 채점 프로세스는 다양한 유형의 값을 생성할 수 있습니다.

  • 권장 항목 목록 및 유사성 점수

  • 시계열 모델 및 회귀 모델에 대한 숫자 값

  • 새로운 입력이 일부 기존 범주에 속할 가능성을 나타내는 확률 값

  • 새 항목이 가장 유사한 범주 또는 클러스터의 이름

  • 분류 모델의 경우 예측된 클래스 또는 결과

일괄 채점은 일정 기간 동안 데이터를 수집한 다음 일괄 처리하는 것입니다. 여기에는 비즈니스 보고서 생성 또는 고객 충성도 분석이 포함될 수 있습니다.

실시간 채점은 가능한 한 빨리 진행되고 수행되는 정확히 그 채점입니다. 전형적인 예는 신용 카드 사기 검색이지만 실시간 채점은 음성 인식, 의료 진단, 시장 분석 및 기타 여러 애플리케이션에서도 사용할 수 있습니다.

Azure의 사용자 지정 AI에 대한 일반 정보

Azure AI 플랫폼 제품

다음은 요구 사항에 맞는 AI 솔루션을 개발하는 데 사용할 수 있는 Azure 기술, 플랫폼 및 서비스에 대한 분석입니다.

Azure Machine Learning

모델을 더 빠르게 구축하고 배포할 수 있는 엔터프라이즈급 기계 학습 서비스입니다. Azure Machine Learning은 웹 인터페이스와 SDK를 제공하므로 기계 학습 모델과 파이프라인을 대규모로 빠르게 학습하고 배포할 수 있습니다. PyTorch, TensorFlow 및 scikit-learn과 같은 오픈 소스 Python 프레임워크와 함께 이러한 기능을 사용하세요.

Azure용 기계 학습 참조 아키텍처

Azure 자동화된 Machine Learning

Azure는 자동화된 ML에 대한 광범위한 지원을 제공합니다. 개발자는 코드 없는 UI를 사용하거나 코드 우선 Notebooks 환경을 통해 모델을 빌드할 수 있습니다.

Azure Cognitive Services

지능형 앱을 구축할 수 있도록 하는 포괄적인 AI 서비스 및 인지적 API 제품군입니다. 이러한 도메인별 미리 학습된 AI 모델은 데이터로 사용자 지정할 수 있습니다.

모바일 및 웹앱 개발을 위한 AI 기반 클라우드 검색 서비스입니다. 이 서비스는 콘텐츠가 비구조적이거나 원시 형식으로 검색할 수 없는 경우 AI 보강 옵션을 사용하여 프라이빗 이기종 콘텐츠를 검색할 수 있습니다.

Azure Bot Service

이는 즉시 시작할 수 있는 템플릿을 사용하여 특별히 빌드된 봇 개발 환경입니다.

Azure의 Apache Spark

Apache Spark는 메모리 내 처리를 지원하여 빅 데이터 분석 애플리케이션의 성능을 향상하는 병렬 처리 프레임워크입니다. Spark는 메모리 내 클러스터 컴퓨팅을 위한 기본 형식을 제공합니다. Spark 작업은 데이터를 메모리에 로드 및 캐시하고 반복적으로 쿼리할 수 있으며, 이는 Hadoop과 같은 디스크 기반 애플리케이션보다 훨씬 빠릅니다.

Azure HDInsight의 Apache Spark는 Microsoft가 Apache Spark를 클라우드에서 구현한 것입니다. HDInsight의 Spark 클러스터는 Azure Storage 및 Azure Data Lake Storage와 호환되므로 HDInsight Spark 클러스터를 사용하여 Azure에 저장된 데이터를 처리할 수 있습니다.

Apache Spark용 Microsoft Machine Learning 라이브러리는 MMLSpark(Apache Spark용 Microsoft ML)입니다. Spark 에코시스템에 많은 딥 러닝 및 데이터 과학 도구, 네트워킹 기능 및 프로덕션 등급 성능을 추가하는 오픈 소스 라이브러리입니다. MMLSpark 기능에 대해 자세히 알아봅니다.

기계 학습을 위한 Azure Databricks Runtime

Azure Databricks는 원클릭 설정, 간소화된 워크플로, 데이터 과학자, 엔지니어, 비즈니스 분석이 간의 협업을 위한 대화형 작업 영역을 갖춘 Apache Spark 기반 분석 플랫폼입니다.

Databricks Runtime ML(Databricks Runtime for Machine Learning)을 사용하면 분산 학습에 필요한 모든 라이브러리로 Databricks 클러스터를 시작할 수 있습니다. 기계 학습 및 데이터 과학을 위해 바로 사용할 수 있는 환경을 제공합니다. 또한 TensorFlow, PyTorch, Keras 및 XGBoost를 비롯한 여러 자주 사용되는 라이브러리가 포함되어 있습니다. 또한 Horovod를 사용하여 분산 학습을 지원합니다.

고객 사례

다양한 산업에서 혁신적이고 영감을 주는 방식으로 AI를 적용하고 있습니다. 다음은 여러 고객 사례 연구 및 성공 사례입니다.

더 많은 AI 고객 사례 찾아보기

다음 단계