기술나눔

대규모 언어 모델 애플리케이션 - AI 엔지니어링 구현

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


최근 몇 년 동안 AI의 급속한 발전은 실제로 큰 영향을 미쳤습니다. 그러나 실제로 AI는 완전히 경계를 넘지 않았으며 여전히 작은 범위에서 "자체 홍보"에 불과합니다.하지만 예전과는 많이 달라졌어요.
이번 글은 대형 모델의 현황을 중심으로 엔지니어링 구현과 관련된 내용을 다루며, 또한 영감과 요약을 바탕으로 작성되었습니다.

여기서는 AI 자체에 대해 너무 자세히 설명하지 않고 상위 수준 응용 프로그램에 더 중점을 둘 것입니다.

대규모 언어 모델 개요

대규모 언어 모델에 관해 이야기할 때, 우리는 인간의 언어와 유사한 방식으로 "말할" 수 있는 소프트웨어를 언급합니다.이 모델은 놀랍습니다. 맥락을 파악하고 일관적일 뿐만 아니라 실제 인간에게서 나오는 것처럼 느껴지는 반응을 생성할 수 있습니다.
이러한 언어 모델은 대량의 텍스트 데이터와 언어 사용의 학습 패턴을 분석하여 작동합니다.그들은 이러한 패턴을 활용하여 인간이 말하거나 쓰는 것과 거의 구별할 수 없는 텍스트를 생성합니다.
가상 비서와 채팅을 하거나 AI 고객 서비스 에이전트와 상호 작용한 적이 있다면 아마도 깨닫지도 못한 채 대규모 언어 모델과 상호 작용했을 것입니다. 이러한 모델에는 챗봇에서 언어 번역, 콘텐츠에 이르기까지 광범위한 응용 프로그램이 있습니다! 창작 등

대규모 언어 모델이란 무엇입니까?

  • 정의 : LLM(대형 언어 모델)은 사전 훈련된 NLP(자연어 처리) 모델로, 일반적으로 수십억 또는 수천억 개의 매개변수를 사용하여 자연어 텍스트를 이해하고 생성할 수 있습니다.성숙한 대규모 언어 모델을 위한 훈련 데이터는 방대합니다.
  • 기능: 대규모 언어 모델은 텍스트 분류, 감정 분석, 기계 번역, 텍스트 요약, 질문 및 답변 시스템 등과 같은 다양한 언어 작업을 수행할 수 있습니다.
  • 기술 기반: Transformer 아키텍처를 기반으로 Self-Attention 메커니즘을 사용하여 시퀀스 데이터를 처리합니다.
  • 개발하다: 초기 RNN, LSTM부터 BERT, GPT 등 최신 모델에 이르기까지 매개변수 수와 성능이 지속적으로 향상되었습니다.

머신러닝이란?

  • 정의: 머신러닝은 컴퓨터 시스템이 명시적으로 프로그래밍하지 않고도 데이터로부터 학습하고 결정이나 예측을 내릴 수 있도록 하는 인공 지능의 한 분야입니다.
  • 유형: 지도학습, 비지도학습, 준지도학습, 강화학습 포함
  • 애플리케이션: 이미지 인식, 음성 인식, 추천 시스템, 예측 분석 및 기타 분야에서 널리 사용됩니다.
  • 주요 개념: 특징 선택, 모델 훈련, 과적합 및 과소적합, 모델 평가 등

딥러닝이란 무엇인가

  • 정의: 딥 러닝은 인간의 두뇌와 유사한 신경망 구조를 사용하여 다층(심층) 비선형 변환을 통해 데이터의 복잡한 패턴을 학습하는 기계 학습의 하위 집합입니다.
  • 핵심 구성 요소: 신경망 계층, 활성화 함수, 손실 함수, 최적화 알고리즘.
  • 건축학: CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory Network), Transformer(Transformer) 등을 포함합니다.
  • 애플리케이션: 영상 및 음성인식, 자연어 처리, 자율주행 등 분야에서 획기적인 발전을 이루었습니다.

대규모 언어 모델 이해

위에서 대규모 언어 모델에 대한 개요를 살펴본 후 대규모 언어 모델을 "이해"하기 위해 별도의 장을 열어야 하는 이유는 무엇입니까? 우리가 애플리케이션 계층을 더 쉽게 수행할 수 있도록 해주세요.
우선, 일반적으로 머신러닝은 입력을 원하는 출력으로 변환할 수 있는 특수하고 복잡한 "함수"를 찾는 것이라고 말할 수 있습니다. 예를 들어, 1을 입력하고 5를 출력하고, 2를 입력하고 10을 출력할 것으로 예상하는 경우 이 함수는 y=2*x일 수 있습니다.또는 고양이 사진을 입력하면 "cat"이라는 단어가 출력되기를 원하고, "hi"를 입력하면 "hello"가 출력되기를 원합니다.

사실 이는 본질적으로 수학적 문제라고 볼 수 있다. 물론 실제 문제는 위의 예보다 훨씬 더 복잡할 것이다.

역사

1. 초기에 사람들은 항상 기계가 사람처럼 생각하도록 만들고 싶었습니다. 그 당시 사람들은 생체 공학을 바탕으로 새가 날아가는 것을 보고 날아다니는 방법을 주로 홍보했습니다. 그런 다음 그들은 기계도 인간처럼 생각하게 되기를 바랐습니다. 하지만 이 효과는 그다지 좋지 않습니다. "세계 지식"은 없습니다(세계 지식은 생각 없이도 잘 알려져 있고 본능적으로 두뇌에 있는 기본 지식입니다). , 한 단어로 여러 의미의 문제를 해결하기가 어렵습니다.일반적으로 인간의 두뇌를 모방하기에는 너무 복잡하고, 단순히 코드와 기능만으로 이를 구현하기는 어렵습니다.

2. 인공지능 2.0 시대: '통계 기반 인공지능'의 데이터 중심 구현. GPT3 등장 이후 왜 비 온 뒤 온갖 대형 모델들이 버섯처럼 솟아오르는 걸까? 사실 대부분의 기업들이 오랫동안 AI를 연구해 왔지만 초창기에는 다들 돌을 느끼며 강을 건너고 있었습니다. 많은 계획과 생각이 있었지만 감히 스터드에 대한 투자를 늘리지 못했고, 그들은 모두 제한된 범위 내에 있었습니다. GPT3의 등장으로 엄청난 양의 데이터를 이용해 통계를 계산하는 방법이 가능하다는 사실을 모두가 알 수 있게 되었습니다. 사용법의 변화는 질적 변화로 이어집니다. 그래서 성공적인 사례에서는 모두가 이 방법이 가능하다는 것을 알았습니다. 투자를 늘려 이 길을 가세요

3. 빅데이터는 기계 지능의 수준을 한 단계 더 발전시킬 수 있습니다. 대량의 데이터를 사용하는 가장 큰 의미는 과거에 인간만이 할 수 있었던 일을 컴퓨터가 완료할 수 있게 해준다는 것입니다.

  • 핵심아이디어 : 대용량 데이터의 통계정보를 바탕으로 결과에 맞게 '매개변수 학습' (본질은 '바이오닉'이 아닌 '통계'임)
  • 주요 이점: 데이터의 양이 축적됨에 따라 시스템은 계속해서 개선되고 더 좋아질 것입니다.
  • 핵심요소 : '빅데이터', 거대하고 다차원적이며 종합적인 빅데이터
  • 거대하고 다차원적이며 종합적인 빅데이터를 기반으로 한 "암기학습";
    통계적 인공지능을 통해 '지능 문제'를 '데이터 문제'로 변환하여 컴퓨팅을
    기계는 빅데이터 학습을 통해 '불확실한 문제'를 해결할 수 있다

필수 사항

따라서 문제의 핵심은 확률의 문제가 됩니다. 현재 대형 모델은 대용량 데이터로부터 확률을 계산해 다음 텍스트나 중간 텍스트의 특정 단락이 나올 확률이 가장 높은 것을 결정해 출력한다.사실 본질은 새로운 것을 만들어내는 것이 아니라 이성적이다.

예를 들어 중국의 수도가 어디인지 물어보세요.알고리즘을 통해 추출된 키워드는 중국의 수도는
그런 다음 대규모 모델은 대규모 데이터로부터 중국의 수도가 베이징 다음에 올 가능성이 가장 높은 단어임을 계산하므로 올바른 결과가 출력됩니다.

대규모 모델은 현재 기능을 달성하기 위해 막대한 양의 데이터에 대한 "암기 학습"에 의존합니다.
따라서 대형 모델을 훈련하기 위한 데이터 품질도 매우 중요합니다. 동시에 대형 모델의 상한선을 거의 생각할 수 있습니다.

AIGC 시스템

AIGC(Artificial Intelligence Generation Content)는 머신러닝 알고리즘을 활용해 텍스트, 이미지, 오디오, 비디오 등 다양한 유형의 콘텐츠를 자동으로 생성하는 기술이다. AIGC 시스템은 대량의 데이터를 분석하여 언어, 시각 및 청각 패턴을 학습하여 인간이 만든 콘텐츠와 유사하거나 구별할 수 없는 새로운 콘텐츠를 만듭니다.
모든 디지털 작업은 '빅 모델'에 의해 전복될 가능성이 높습니다.
현재 애플리케이션 계층 작업의 대부분은 AIGC 시스템에 속합니다.
GPT3.5 이후에는 대형 모델에서도 이미 도구를 사용할 수 있습니다.
• 플러그인 및 네트워킹: 대형 모델 자체의 메모리 부족을 보완하여 도구 사용 방법을 LLM 학습이 공식적으로 시작됨
• 기능: LLM은 백엔드 엔지니어의 주요 업무인 복잡한 작업을 완료하기 위해 API를 호출하는 방법을 학습합니다(Gorilla 지침을 제공하면 자동으로 확산 및 기타 모델을 호출하여 그리기 및 대화와 같은 다중 모드 작업을 구현합니다).
• 모델이 "생각"하도록 합니다. 대규모 모델이 논리적 기능을 갖도록 안내합니다. 핵심은 "기획 메모리 도구"에 있습니다.

AI 엔지니어링 프로젝트 구현

실제로 AI 프로젝트의 구현은 일반 프로젝트와 동일하다. 초기 프로젝트 수립의 핵심은 프로젝트가 해결하려는 핵심 문제를 명확하게 이해한 후 사고를 확장하고 실행하는 것이다. 수요분석, 기술선정 등우리는 애플리케이션 계층 연구를 위한 대규모 모델을 설계하는 데 능숙하지 않습니다. 일반적으로 API를 직접 호출하거나 로컬 오픈 소스 대규모 모델을 배포합니다.

착륙 방법

프롬프트 프로젝트(1단계)

AI에 조금이라도 노출된 사람이라면 프롬프트를 알 수 있습니다. 2022~2023년에도 AI에 대한 초기 연구는 여전히 이를 기반으로 할 것입니다. 즉, AI가 의미를 더 잘 이해할 수 있도록 질문하는 방법, 핵심에 주의를 기울이십시오. 포인트를 얻은 다음 Gao의 답변을 더 나은 품질로 제공하십시오.
임계값은 상대적으로 낮으며 대부분의 대규모 모델 애플리케이션은 Prompt를 사용하여 설계되었습니다.일부 요구 사항을 충족할 수 있는지 여부는 기본 모델의 기능에 따라 달라집니다.

RAG 검색(두 번째 단계)

RAG(Retrieval-Augmented Generation)는 검색 모델과 생성 모델을 결합한 인공지능 기술이다. 지식 기반이나 데이터베이스에서 관련 정보를 검색하고 이를 사용자 쿼리와 결합하여 LLM(대형 언어 모델)의 응답 기능을 향상시킵니다. RAG 기술은 특히 특정 도메인 지식을 다루거나 최신 정보가 필요한 시나리오에서 AI 애플리케이션의 정확성과 관련성을 향상시킬 수 있습니다.
RAG의 작동 원리는 주로 두 단계로 구성됩니다.

  1. 검색: RAG는 사용자의 쿼리를 기반으로 검색 모델을 사용하여 지식 베이스에서 가장 관련성이 높은 정보나 문서를 검색하고 추출합니다.
  2. 생성: 검색된 정보는 생성 모델이 답변이나 콘텐츠를 생성하는 사용자 쿼리와 함께 생성 모델에 대한 입력으로 사용됩니다.
    RAG 기술의 장점은 다음과 같습니다.
    • 지식 업데이트: 모델 훈련 중 단순한 지식이 아닌 최신 정보에 접근할 수 있는 능력
    • 환각 감소: 외부 지식 소스의 도움을 통해 LLM이 부정확하거나 잘못된 정보를 생성하는 경향을 줄입니다.
    • 데이터 보안: 기업이 개인 데이터를 제3자 플랫폼에 업로드하지 않고도 사용할 수 있습니다.
    • 비용 효율성: RAG는 대규모 모델을 재교육하거나 미세 조정하는 것보다 더 경제적인 솔루션을 제공합니다.
학습 기능별 모델(3단계)

그러나 이 임계값은 상대적으로 높으며 컴퓨팅 성능, 데이터 및 알고리즘에 대한 특정 요구 사항이 있습니다.

비즈니스 디자인을 구현했습니다.

1단계: 아이디어 구상 및 탐구

목표: 타당성 검증을 수행하고, 비즈니스 요구 사항을 기반으로 프로토타입을 설계하고, PromptFlow를 구축하여 주요 가정을 테스트합니다.

  • 핵심 입력: 명확한 비즈니스 목표
  • 주요 결과: LLM(대형 언어 모델)이 작업 요구 사항을 충족하고 주요 가정을 설정하거나 거부할 수 있는지 확인합니다.
  • 주요 실행 계획:
    • 비즈니스 사용 사례를 명확하게 정의
    • 적합한 기본 대형 모델을 선택하고 후속 미세 조정(SFT) 또는 기타 용도에 필요한 데이터를 준비합니다.
    • PromptFlow 설계 및 구축, 타당성 가설 공식화 및 테스트
2단계: 구축 및 강화

목표: SFT(미세 조정) 및 RAG(검색 증강 생성)와 같은 기술을 통해 더 넓은 범위의 데이터 세트에서 솔루션의 견고성을 평가하고 모델 성능을 향상시킵니다.

  • 핵심입력 : 사전계획과 결합된 사업목표(1단계 결과)
  • 주요 결과: 프로덕션 시스템에 배포할 준비가 된 성숙한 비즈니스 솔루션
  • 주요 실행 계획:
    • 샘플 데이터에 대한 PromptFlow의 효율성 확인
    • PromptFlow를 평가 및 최적화하고 더 나은 프롬프트와 도구를 탐색하세요.
    • 예상한 목표가 달성되면 테스트를 위해 더 큰 데이터 세트로 확장하고 SFT, RAG 및 기타 기술을 통해 효과를 더욱 향상시킵니다.
3단계: 작업 계속

목표: AIGC 시스템의 안정적인 운영 보장, 모니터링 및 경보 시스템 통합, 지속적인 통합 및 지속적인 배포(CI/CD) 달성

  • 핵심 입력: 특정 문제를 해결할 수 있는 AIGC 시스템
  • 주요 결과: 모니터링 및 경고 시스템과 CI/CD 프로세스를 통합하는 생산 수준 절차.
  • 주요 실행 계획:
    • AIGC 시스템 배포
    • 모니터링 및 경고 기능을 통합하여 시스템 기능이 애플리케이션에 내장되도록 보장
    • 지속적인 반복, 배포, 업데이트를 포함한 애플리케이션 운영 메커니즘 구축
      이 프로세스를 통해 개념 증명부터 프로덕션 배포까지의 모든 단계가 정확하고 제어 가능하며 비즈니스 목표에 따라 추진되도록 보장합니다.

신속한 기술

1. 주요 콘텐츠 단편의 주도적 역할

기본 콘텐츠 조각은 지침의 효과를 크게 높이기 위해 지침과 함께 사용되는 텍스트 기반입니다.

  1. 주요 내용의 정의:
    • 기본 콘텐츠는 모델 처리 또는 변환의 핵심 텍스트이며 일반적으로 특정 목표를 달성하기 위한 지침과 쌍을 이룹니다.
  2. 적용 예:
    • 예 1: "위 내용을 요약해 주십시오"라는 지시와 함께 Wikipedia 텍스트 [텍스트]를 제공합니다.
    • 예 2: 맥주 정보 [텍스트]가 포함된 테이블이 주어지면 명령은 "도수가 6도 미만인 모든 맥주를 테이블에 나열하십시오."입니다.

2. 주요 콘텐츠의 구현 전략

다음을 포함하여 주요 콘텐츠를 달성하기 위한 구체적인 방법:

  • 예: 직접적인 지시가 아닌 작업을 완료하는 방법에 대한 예를 제공하여 모델이 수행해야 하는 작업을 자율적으로 추론할 수 있습니다.
  • 큐(Cue): 단서가 있는 지침을 사용하여 모델이 답에 도달하기 위해 단계별로 추론하도록 안내합니다.
  • 템플릿: 자리 표시자와 함께 재사용 가능한 프롬프트 레시피를 제공하여 특정 사용 사례에 맞게 사용자 정의할 수 있습니다.

3. 예시의 힘 (예)

주어진 지침에 따라 출력을 생성하는 방법을 모델에 보여줌으로써 모델은 제로샷, 원샷 또는 소수 학습 등의 출력 패턴을 추론할 수 있습니다.

  • 요소:
    • 전체적인 미션 설명입니다.
    • 원하는 출력 범위의 예입니다.
    • 후속 작업의 시작점 역할을 하는 새로운 예시에 대한 가이드입니다.

4. 단서(Cue)의 안내 역할

큰 모델에 단서를 제공하여 논리적 추론을 명확한 방향으로 안내한다는 것은 모델이 점차 답을 얻을 수 있도록 단계별 공식을 제공하는 것과 비슷합니다.

5. 템플릿(Template)의 사용자 정의 값

템플릿의 가치는 애플리케이션의 특정 상황이나 예에 최적화된 특정 애플리케이션 영역에 대한 프롬프트 라이브러리를 만들고 게시하는 데 있습니다.

  • 최적화 팁: 대상 사용자 그룹에 더 관련성이 높고 정확한 응답을 제공하세요.
  • 리소스 참조: OpenAI API 샘플 페이지는 풍부한 템플릿 리소스를 제공합니다.
  • 모델 역할 할당: 모델 ID 역할(예: 시스템, 사용자, 보조자 등)을 지정하여 작업 관련성에 대한 모델의 이해를 높입니다.

고급 프롬프트 예

# 职位描述:数据分析助手
## 角色
我的主要目标是为用户提供专家级的数据分析建议。利用详尽的数据资源,告诉我您想要分析的股票(提供股票代码)。我将以专家的身份,为您的股票进行基础分析、技
术分析、市场情绪分析以及宏观经济分析。
## 技能
### 技能1:使用Yahoo Finance的'Ticker'搜索股票信息
### 技能2:使用'News'搜索目标公司的最新新闻
### 技能3:使用'Analytics'搜索目标公司的财务数据和分析
## 工作流程
询问用户需要分析哪些股票,并按顺序执行以下分析:
**第一部分:基本面分析:财务报告分析
*目标1:对目标公司的财务状况进行深入分析。
*步骤:
1. 确定分析对象: