인공 지능 아키텍처

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 내의 서비스 카탈로그는 비전, 음성, 언어, Web Search 및 의사 결정/권장 사항의 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에서 코드를 실행할 수 있는 다양 한 옵션을 제공 합니다.

학습

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

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

하이퍼 매개 변수 조정

하이퍼 매개 변수 는 학습 프로세스 자체를 제어 하는 데이터 변수입니다. 알고리즘의 작동 방식을 제어 하는 구성 변수입니다. 따라서 하이퍼 매개 변수는 일반적으로 모델 학습을 시작 하기 전에 설정 되며, 매개 변수를 통해 학습 프로세스 내에서 수정 되지 않습니다. 하이퍼 매개 변수 조정은 학습 작업 내에서 평가판을 실행 하 고, 작업을 얼마나 잘 수행 하는지 평가한 후 필요에 따라 조정 하는 작업을 포함 합니다. 이 프로세스는 여러 모델을 생성 하며 각 모델은 서로 다른 하이퍼 매개 변수 패밀리를 사용 하 여 학습 합니다.

모델 선택

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

AutoML (자동화 된 기계 학습)

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

점수 매기기

점수 매기기예측 이라고 하며, 새 입력 데이터를 제공 하는 경우 학습 된 기계 학습 모델을 기반으로 값을 생성 하는 프로세스입니다. 생성 되는 값 또는 점수는 미래 값의 예측을 나타낼 수 있지만 가능한 범주나 결과를 나타낼 수도 있습니다. 점수 매기기 프로세스는 다음과 같은 다양 한 유형의 값을 생성할 수 있습니다.

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

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

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

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

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

일괄 처리 점수 매기기 는 일정 시간 동안 데이터를 수집한 다음 일괄 처리에서 처리 하는 경우입니다. 여기에는 비즈니스 보고서를 생성 하거나 고객 충성도를 분석 하는 작업이 포함 될 수 있습니다.

실시간 점수 매기기 는 가능한 한 빨리 진행 되 고 수행 되는 정확한 점수 매기기입니다. 전형적인 예는 신용 카드 사기 감지 이지만 음성 인식, 의료 진단, 시장 분석 및 기타 많은 응용 프로그램 에서도 실시간 점수 매기기를 사용할 수 있습니다.

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

Azure AI 플랫폼 제품

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

Azure Machine Learning

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

Azure 용 Machine learning 참조 아키텍처

Azure 자동화 된 기계 학습

Azure는 자동화 된 ML에 대 한 광범위 한 지원을 제공 합니다. 개발자는 코드를 사용 하지 않는 UI 나 코드 중심 노트북 환경을 통해 모델을 빌드할 수 있습니다.

Azure Cognitive Services

이는 지능형 앱을 빌드하는 데 도움이 되는 포괄적인 AI 서비스 및 인지 Api 모음입니다. 이러한 도메인별 미리 학습 된 AI 모델은 데이터를 사용 하 여 사용자 지정할 수 있습니다.

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

Azure Bot Service

이는 빠르게 시작할 수 있는 기본 제공 되는 템플릿을 포함 하는 용도의 빌드 봇 개발 환경입니다.

Azure의 Apache Spark

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

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

microsoft Machine Learning library for Apache Spark는 mmlspark (Apache Spark에 대 한 microsoft ML)입니다. 이는 다양 한 심층 학습 및 데이터 과학 도구, 네트워킹 기능 및 프로덕션 등급의 성능을 Spark 에코 시스템에 추가 하는 오픈 소스 라이브러리입니다. MMLSpark 기능 및 기능에 대해 자세히 알아보세요.

Machine Learning에 대 한 Azure Databricks Runtime

Azure Databricks 은 한 번의 클릭으로 설정, 간소화 된 워크플로 및 데이터 과학자, 엔지니어 및 비즈니스 분석가 간에 공동 작업을 위한 대화형 작업 영역을 포함 하는 Apache Spark 기반 분석 플랫폼입니다.

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

고객 사례

다른 산업은 혁신적인 및 영감 방법으로 AI를 적용 합니다. 다음은 다양 한 고객 사례 연구 및 성공 사례입니다.

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

다음 단계