Azure Database for PostgreSQL - 유연한 서버를 사용하는 생성형 AI
적용 대상: Azure Database for PostgreSQL - 유연한 서버
GenAI(생성형 AI)는 기존 멀티미디어 콘텐츠에서 학습하고 새 콘텐츠를 생성할 수 있는 인공 지능 알고리즘 클래스를 나타냅니다. 생성된 콘텐츠는 프롬프트 및 미세 조정과 같은 기술을 사용하여 사용자 지정할 수 있습니다. GenAI 알고리즘은 특정 기계 학습 모델을 적용합니다.
- 텍스트 생성을 위한 변환기 및 RNN(순환 신경망)입니다.
- 이미지 생성을 위한 GAN(생성적 대립 신경망)입니다.
- 이미지 생성 등을 위한 VAE(변분 오토인코더)입니다.
GenAI는 이미지 및 음악 합성, 의료, 텍스트 자동 완성, 텍스트 요약, 번역과 같은 일반적인 작업에 사용됩니다. GenAI 기술을 사용하면 클러스터링 및 세분화, 의미 체계 검색 및 추천, 토픽 모델링, 질문 답변 및 이상 탐지와 같은 데이터에 대한 기능을 사용할 수 있습니다.
OpenAI
OpenAI는 인공 지능 및 기계 학습 분야에서 선구적인 연구로 유명한 AI(인공 지능) 연구 조직 및 기술 회사입니다. OpenAI의 임무는 경제적으로 가장 귀중한 작업에서 인간을 능가할 수 있는 고도로 자율적인 AI 시스템을 의미하는 AGI(인공 일반 지능)가 모든 인류에게 혜택을 주도록 하는 것입니다. OpenAI는 GPT-3, GPT-3.5, GPT-4(사전 훈련된 생성형 변환기)와 같은 최신 생성형 모델을 출시했습니다.
Azure OpenAI는 Azure를 사용하여 GenAI 애플리케이션을 빌드하는 데 지원하는 Azure의 LLM 서비스 제품입니다. Azure OpenAI Service는 Azure의 보안 및 엔터프라이즈 지원을 통해 OpenAI GPT-4, GPT-3, Codex, DALL-E, Whisper 모델을 사용하는 고급 언어 AI를 고객에게 제공합니다. Azure OpenAI는 OpenAI와 API를 공동 개발하여 호환성과 원활한 전환을 보장합니다.
Azure OpenAI를 사용하면 고객은 OpenAI와 동일한 모델을 실행하면서 Microsoft Azure의 보안 기능을 얻을 수 있습니다. Azure OpenAI는 프라이빗 네트워킹, 지역 가용성 및 책임 있는 AI 콘텐츠 필터링을 제공합니다.
Azure OpenAI에 대해 자세히 알아보세요.
LLM(거대 언어 모델)
LLM(거대 언어 모델)은 인간과 유사한 언어를 이해하고 생성하기 위해 방대한 양의 텍스트 데이터를 학습한 AI 모델의 일종입니다. LLM은 일반적으로 변환기와 같은 딥 러닝 아키텍처를 기반으로 하며 다양한 자연어 이해 및 생성 작업을 수행하는 능력으로 잘 알려져 있습니다. ChatGPT를 구동하는 OpenAI의 GPT는 LLM입니다.
거대 언어 모델의 주요 특징과 기능은 다음과 같습니다.
- 스케일링: LLM 아키텍처에 사용되는 매개 변수 수 측면에서 엄청난 규모가 특징입니다. GPT-3(사전 훈련된 생성형 변환기 3)과 같은 모델에는 수억에서 수조 개의 매개 변수가 포함되어 있어 언어의 복잡한 패턴을 캡처할 수 있습니다.
- 사전 훈련: LLM은 인터넷에서 대량의 텍스트 데이터를 미리 학습하여 문법, 구문, 의미 체계, 언어와 세계에 대한 광범위한 지식을 배울 수 있습니다.
- 미세 조정: 사전 훈련 후에는 작업별 데이터 세트가 더 작은 특정 작업 또는 도메인에서 LLM을 미세 조정할 수 있습니다. 이 미세 조정 프로세스를 사용하면 텍스트 분류, 번역, 요약, 질문 답변과 같은 보다 특수한 작업에 적응할 수 있습니다.
GPT
GPT는 사전 훈련된 생성형 변환기를 의미하며 OpenAI에서 개발한 일련의 대규모 언어 모델을 나타냅니다. GPT 모델은 인터넷의 방대한 양의 데이터로 미리 학습된 신경망이므로 인간과 유사한 텍스트를 이해하고 생성할 수 있습니다.
주요 GPT 모델 및 주요 특성에 대한 개요는 다음과 같습니다.
GPT-3: 2020년 6월에 출시된 GPT 시리즈 중 잘 알려진 모델입니다. 1,750억 개의 매개 변수를 보유하고 있어 가장 크고 강력한 언어 모델 중 하나입니다. GPT-3은 광범위한 자연어 이해 및 생성 작업에서 놀라운 성능을 달성했습니다. 인간 수준의 유창성을 통해 텍스트 완성, 번역, 질문 답변 등과 같은 작업을 수행할 수 있습니다. GPT-3은 가장 작은 모델(125M 매개 변수)에서 가장 큰 모델(175B 매개 변수)에 이르기까지 다양한 모델 크기로 나뉩니다.
GPT-4: OpenAI의 최신 GPT 모델로, 1조 7,600억 개의 매개 변수가 있습니다.
벡터
벡터는 선형 대수 및 기하 도형에 사용되는 수학 개념으로 크기 및 방향이 모두 있는 수학적 개념입니다. 기계 학습의 컨텍스트에서 벡터는 종종 데이터 요소 또는 기능을 나타내는 데 사용됩니다.
다음은 몇 가지 주요 벡터 특성 및 작업입니다.
- 크기: 일반적으로 표준으로 표시되는 벡터의 길이 또는 크기는 벡터가 나타내는 데이터의 크기를 나타냅니다. 음수가 아닌 실수입니다.
- 방향: 참조 지점 또는 좌표계와 관련하여 나타내는 수량의 방향 또는 각도를 나타냅니다.
- 구성 요소: 여러 축 또는 차원을 따라 벡터를 해당 구성 요소로 분해할 수 있습니다. 2D 카티전 좌표계에서는 벡터를 (x, y)로 나타낼 수 있습니다. 여기서 x와 y는 각각 x-축과 y-축을 따라 그 구성 요소입니다. n 차원의 벡터는 n 튜플 {x1, x2... xn}.
- 덧셈 및 스칼라 곱셈: 벡터를 함께 추가하여 새 벡터를 형성할 수 있으며 스칼라(실수)를 곱할 수 있습니다.
- 내적 및 외적: 내적(스칼라 제품) 및 외적(벡터 제품)을 사용하여 벡터를 결합할 수 있습니다.
벡터 데이터베이스
DBMS(벡터 데이터베이스 관리 시스템)라고도 하는 벡터 데이터베이스는 벡터 데이터를 효율적으로 저장, 관리, 쿼리하도록 설계된 데이터베이스 시스템의 유형입니다. 기존 관계형 데이터베이스는 주로 테이블에서 구조적 데이터를 처리하는 반면 벡터 데이터베이스는 벡터로 표시되는 다차원 데이터 요소의 스토리지 및 검색에 최적화되어 있습니다. 이러한 데이터베이스는 유사도 검색, 지리 공간적 데이터, 추천 시스템, 클러스터링과 같은 작업이 수반된 애플리케이션에 유용합니다.
다음은 벡터 데이터베이스의 몇 가지 주요 특징입니다.
- 벡터 스토리지: 벡터 데이터베이스는 데이터 요소를 여러 차원의 벡터로 저장합니다. 각 차원은 데이터 요소의 기능 또는 특성을 나타냅니다. 이러한 벡터는 숫자, 범주, 텍스트 데이터를 포함하여 광범위한 데이터 형식을 나타낼 수 있습니다.
- 효율적인 벡터 연산: 벡터 데이터베이스는 벡터 덧셈, 뺄셈, 내적, 유사도 계산(예: 코사인 유사도 또는 유클리드 거리)과 같은 벡터 연산을 수행하는 데 최적화되어 있습니다.
- 효율적인 검색: 효율적인 인덱싱 메커니즘은 유사한 벡터를 빠르게 검색하는 데 중요합니다. 벡터 데이터베이스는 다양한 인덱싱 메커니즘을 사용하여 빠른 검색을 사용하도록 설정합니다.
- 쿼리 언어: 벡터 연산 및 유사도 검색에 맞게 조정된 쿼리 언어와 API를 제공합니다. 이러한 쿼리 언어를 사용하면 사용자가 검색 조건을 효율적으로 표현할 수 있습니다.
- 유사도 검색: 사용자가 지정된 쿼리 지점과 유사한 데이터 요소를 찾을 수 있도록 유사도 검색에서 탁월합니다. 이 특성은 검색 및 추천 시스템에서 유용합니다.
- 지리 공간적 데이터 처리: 일부 벡터 데이터베이스는 지리 공간적 데이터를 위해 설계되어 위치 기반 서비스, GIS(지리 정보 시스템), 지도 관련 작업과 같은 애플리케이션에 적합합니다.
- 다양한 데이터 형식 지원: 벡터 데이터베이스는 벡터, 이미지, 텍스트 등을 비롯한 다양한 유형의 데이터를 저장하고 관리할 수 있습니다.
PostgreSQL는 pgvector
확장 기능을 통해 벡터 데이터베이스의 기능을 얻을 수 있습니다.
포함
임베딩은 단어, 문서, 엔터티와 같은 개체를 다차원 공간에서 벡터로 나타내는 것을 포함하는 NLP(기계 학습 및 자연어 처리)의 개념입니다. 이러한 벡터는 종종 밀도가 높기 때문에 차원이 많으며 신경망을 비롯한 다양한 기술을 통해 학습됩니다. 임베딩은 연속 벡터 공간에서 개체 간의 의미 체계 관계와 유사성을 캡처하는 것을 목표로 합니다.
임베딩의 일반적인 유형은 다음과 같습니다.
- 단어: NLP에서 단어 임베딩은 단어를 벡터로 나타냅니다. 각 단어는 의미나 컨텍스트가 비슷한 단어가 서로 가까이 있는 고차원 공간의 벡터에 매핑됩니다.
Word2Vec
및GloVe
는 널리 사용되는 단어 임베딩 기술입니다. - 문서: 문서를 벡터로 나타냅니다.
Doc2Vec
는 문서 임베딩을 만드는 데 널리 사용됩니다. - 이미지: 이미지를 임베딩으로 표시하여 시각적 기능을 캡처하여 개체 인식과 같은 작업을 수행할 수 있습니다.
임베딩은 기계 학습 모델에서 쉽게 처리할 수 있는 형태로 복잡한 고차원 데이터를 나타내는 데 핵심적인 요소입니다. 대규모 데이터 세트에 대해 학습한 다음 다양한 작업에 대한 기능으로 사용할 수 있으며 LLM에서 사용됩니다.
PostgreSQL은 Azure AI 확장 OpenAI 통합을 사용하여 벡터 임베딩을 생성하는 기능을 얻을 수 있습니다.
시나리오
생성 AI는 기술, 의료, 엔터테인먼트, 금융, 제조 등을 비롯한 다양한 도메인 및 산업에 걸쳐 광범위하게 사용됩니다. 다음은 생성 AI를 사용하여 수행할 수 있는 몇 가지 일반적인 작업입니다.
- 의미 체계 검색:
- GenAI를 사용하면 어휘 검색이 아닌 데이터에 대한 의미 체계 검색이 가능합니다. 어휘 검색은 쿼리와 정확히 일치하는 항목을 찾는 반면 의미 체계 검색은 검색 쿼리 의도를 충족하는 콘텐츠를 찾습니다.
- 챗봇 및 가상 도우미:
- 예를 들어 자연스러운 컨텍스트 인식 대화에 참여할 수 있는 챗봇을 개발하여 고객을 위한 자가 진단 기능을 구현합니다.
- 추천 시스템:
- 항목 또는 사용자의 임베딩 또는 표현을 생성하여 추천 알고리즘을 개선합니다.
- 클러스터링 및 세분화:
- GenAI에서 생성된 임베딩을 사용하면 클러스터링 알고리즘이 데이터를 클러스터링할 수 있으므로 유사한 데이터가 함께 그룹화됩니다. 이를 통해 고객 세분화와 같은 시나리오를 통해 광고주가 특성에 따라 고객을 다르게 타겟팅할 수 있습니다.
- 콘텐츠 생성:
- 텍스트 생성: 챗봇과 같은 애플리케이션에서 인간과 유사한 텍스트를 생성하고, 소설과 시를 창작하고, 자연어를 이해하고 생성할 수 있습니다.
- 이미지 생성: 그래픽, 엔터테인먼트, 광고를 위한 사실적인 이미지, 아트워크, 디자인을 제작합니다.
- 동영상 생성: 영화, 게임, 마케팅을 위한 동영상, 애니메이션, 비디오 효과를 생성합니다.
- 음악 생성.
- 번역:
- 한 언어에서 다른 언어로 텍스트를 번역합니다.
- 요약:
- 긴 기사나 문서를 요약하여 주요 정보를 추출합니다.
- 데이터 증강:
- 추가 데이터 샘플을 생성하여 ML(기계 학습) 모델에 대한 학습 데이터 세트를 확장하고 개선합니다.
- 의료 이미징과 같이 실제 환경에서 수집하기 어렵거나 비용이 많이 드는 시나리오에 대한 합성 데이터를 만듭니다.
- 신약 개발:
- 분자 구조를 생성하고 제약 연구를 위한 잠재적인 약물 후보를 예측합니다.
- 게임 개발:
- 레벨, 캐릭터, 텍스처를 포함한 게임 콘텐츠를 만듭니다.
- 사실적인 게임 내 환경과 풍경을 생성합니다.
- 데이터 노이즈 제거 및 완료:
- 깨끗한 데이터 샘플을 생성하여 노이즈가 있는 데이터를 정리합니다.
- 데이터 세트에서 누락되거나 불완전한 데이터를 채웁니다.
다음 단계
다음 문서를 방문하여 Azure Database for PostgreSQL 유연한 서버 및 Azure OpenAI를 사용하여 의미 체계 검색을 수행하는 방법과 Azure Cognitive Services의 기능을 활용하여 감정을 분석하고, 언어를 감지하고, 핵심 구를 추출하고, 텍스트에 적용할 수 있는 고급 작업을 수행하는 방법을 알아봅니다.