Generative AI 프로젝트의 수명 주기는 사용 사례를 정의하는 범위 설정, 기존 모델 선택 또는 자체 모델의 사전 훈련, 모델의 적응 및 조정, 그리고 응용 프로그램 통합으로 구성됩니다. 이 과정에서는 모델의 프롬프트 엔지니어링, 미세 조정, 인간의 피드백과 조정 및 성능 평가를 포함합니다. 마지막으로, 모델을 실제 환경에 배포하고, LLM 기술을 활용한 응용 프로그램을 개발합니다.
Scope (Define the use case) – 범위 (사용 사례 정의)
프로젝트의 목적 및 목표를 명확히 합니다. 예를 들면, 특정 주제에 대한 텍스트 생성, 이미지 생성 또는 음성 생성과 같은 구체적인 사용 사례를 결정합니다.
이 단계에서는 Generative AI를 사용하여 어떤 문제나 요구사항을 해결하려고 하는지 명확히 합니다. 사용 사례를 정의할 때 고려해야 할 주요 사항은 다음과 같습니다:
- 문제의 명확성: AI가 수행할 작업을 명확하게 이해하는 것이 중요합니다. 이것은 프로젝트의 방향성을 제공하며, 나중에 모델을 평가할 때 기준이 됩니다.
- 사용자의 요구: 최종 사용자의 요구사항과 기대치를 정확하게 파악하여 사용 사례를 그에 맞게 정의하는 것이 필요합니다.
- 데이터의 접근성: 사용 사례를 실제로 구현하기 위해서는 충분하고, 고품질의 데이터에 접근할 수 있어야 합니다.
- Essay Writing (에세이 작성): AI가 주어진 주제나 프롬프트에 대한 에세이나 긴 글을 생성하는 데 사용됩니다. 예를 들어, “기후 변화에 관한 에세이”를 작성하도록 요청할 수 있습니다.
- Summarization (요약): 긴 텍스트나 문서의 주요 내용을 짧게 요약하는 데 사용됩니다. 예를 들어, 뉴스 기사나 연구 논문의 핵심 내용을 간략하게 표현하도록 요청할 수 있습니다.
- Translation (번역): 한 언어에서 다른 언어로 텍스트를 번역하는 데 사용됩니다. 예를 들어, 영어 텍스트를 한국어로 번역하도록 요청할 수 있습니다.
- Information Retrieval and Information Extraction (정보 검색 및 정보 추출)
- Information Retrieval (정보 검색):
- 정보 검색은 사용자가 제시한 쿼리나 요청에 적합한 문서나 정보를 데이터베이스, 웹, 기타 저장소에서 찾아 반환하는 과정입니다. 예를 들어, “기후 변화에 대한 최근 연구”라는 쿼리에 대한 관련된 논문이나 웹 페이지를 반환하는 것이 포함됩니다.
- Information Extraction (정보 추출):
- 정보 추출은 주어진 텍스트 또는 문서에서 특정 정보나 구조화된 데이터를 추출하는 과정입니다. 예를 들어, 뉴스 기사에서 발생한 사건, 인물, 장소, 시간과 같은 엔터티나 키 정보를 추출하는 것입니다. 정보 추출은 종종 자연어 처리에서 사용되는 개체명 인식 (NER) 같은 기술을 활용하여, 텍스트 내의 특정 정보나 패턴을 식별하고 추출합니다.
- 두 기술 모두 AI와 자연어 처리 분야에서 매우 중요하며, 다양한 응용 분야에서 활용됩니다. 정보 검색은 사용자의 질문에 가장 관련 있는 문서나 정보를 찾는 데 초점을 맞추는 반면, 정보 추출은 해당 문서나 텍스트에서 필요한 구체적인 데이터나 정보를 끌어내는 데 중점을 둡니다.
- Information Retrieval (정보 검색):
- Invoke APIs and Actions (API 및 액션 호출):
- Invoke APIs (API 호출):
- API 호출은 AI가 특정 API를 활용하여 외부 서비스나 데이터베이스와 상호작용하는 것을 의미합니다. 예를 들어, 날씨 정보를 가져오기 위해 날씨 API를 호출하거나, 라이브 스포츠 경기 결과를 가져오기 위해 스포츠 API를 호출하는 것이 포함됩니다.
- Action Call (액션 호출):
- 액션 호출은 AI가 특정 동작을 수행하도록 지시하는 것을 의미합니다. 예를 들어, 스마트 홈 장치를 제어하라는 명령이나, 특정 프로그램을 실행하라는 지시 등이 될 수 있습니다.
- External Applications (외부 응용 프로그램):
- AI가 외부 응용 프로그램과 상호작용하는 것을 의미합니다. 이는 API 호출보다 더 넓은 개념으로, 다양한 응용 프로그램 또는 서비스와의 연동을 포함합니다. 예를 들면, 스프레드시트 데이터의 특정 셀을 수정하라는 지시나, 특정 소셜 미디어 플랫폼에 게시물을 업로드하라는 지시 등이 있을 수 있습니다.
- 이러한 기능들은 Generative AI가 단순한 텍스트나 내용 생성을 넘어서, 다양한 외부 서비스와 상호작용하며 더 복잡한 작업을 수행하는 데 활용될 수 있습니다.
- Invoke APIs (API 호출):
범위 단계에서는 이러한 작업들이 프로젝트의 목적과 어떻게 일치하는지, 그리고 어떻게 이들 작업을 최적으로 수행할 수 있을지에 대한 계획을 세웁니다.
Select (Choose an existing model or pretrain your own) – 선택 (기존 모델 선택 또는 자체 모델 사전 훈련)
이 단계에서는 프로젝트의 목표와 요구 사항에 따라 가장 적합한 AI 모델을 선택하거나, 필요한 경우 새로운 모델을 사전 훈련합니다.
기존 모델 선택:
- 많은 경우, 이미 공개된 대규모 언어 모델 (예: OpenAI의 GPT-3, GPT-4) 또는 다른 공개 모델들이 특정 작업에 충분히 효과적일 수 있습니다.
- 기존 모델을 사용하면 훈련 시간과 비용을 절약할 수 있습니다.
- 그러나 기존 모델이 프로젝트의 특정 요구사항을 충족시키지 못할 수도 있으므로, 모델의 성능과 한계를 평가하는 것이 중요합니다.
자체 모델 사전 훈련:
- 특정 도메인이나 언어, 또는 매우 특별한 요구 사항을 가진 프로젝트의 경우, 자체 데이터로 모델을 사전 훈련할 필요가 있을 수 있습니다.
- 자체 모델을 훈련하면 프로젝트의 특정 요구사항에 맞게 최적화된 모델을 얻을 수 있습니다.
- 그러나 이 방법은 더 많은 시간, 리소스, 전문 지식이 필요합니다.
따라서, 이 선택 단계에서는 프로젝트의 특성, 사용 가능한 리소스, 시간 제약 사항 등을 고려하여 최적의 방향을 결정해야 합니다.
Adapt and Align Model (모델 적응 및 조정)
이 단계에서는 선택된 모델을 특정 작업이나 도메인에 맞게 적응시키고, 모델의 출력을 인간의 기대치와 일치시키기 위해 조정합니다.
Prompt Engineering (프롬프트 엔지니어링):
- 프롬프트는 모델에게 특정 작업을 수행하도록 지시하는 문장 또는 문구입니다.
- 적절한 프롬프트를 제공함으로써, 모델의 반응을 최적화할 수 있습니다. 이는 기존 모델의 잠재력을 극대화하는데 중요한 과정입니다.
- 특정 도메인이나 작업에 모델을 최적화하기 위해 추가 데이터를 사용하여 모델을 재훈련하는 과정입니다.
- 예를 들어, 의료 분야에서 특화된 응답을 원할 경우 의료 관련 데이터로 모델을 미세 조정할 수 있습니다.
Align with Human Feedback (인간의 피드백과 조정):
- 모델의 출력을 인간 평가자들의 피드백을 통해 조정합니다.
- 평가자들은 모델의 응답에 대해 평가를 제공하며, 이 피드백을 바탕으로 모델의 성능을 개선합니다.
Evaluate (평가):
- 모델의 성능과 출력을 정기적으로 검토하고 평가합니다.
- 이를 통해 모델이 의도한 대로 작동하는지 확인하고, 필요한 경우 추가적인 조정을 계획합니다.
이러한 과정을 통해 기존의 모델을 특정 작업이나 사용 사례에 맞게 조정하고 최적화하여, 더욱 정확하고 유용한 결과를 얻을 수 있게 됩니다.
Application Integration (응용 프로그램 통합)
이 단계에서는 적응 및 조정된 AI 모델을 실제 응용 프로그램이나 서비스에 통합하고 배포합니다.
- Optimize and Deploy Model for Inference (추론을 위한 모델 최적화 및 배포):
- 모델을 실제 서비스 환경에서 효과적으로 작동하게 하려면 최적화가 필요합니다. 이는 모델의 크기 축소, 추론 속도 향상 등을 포함할 수 있습니다.
- 최적화된 모델은 클라우드 서버, 엣지 디바이스, 또는 특정 하드웨어에서 실행될 수 있도록 배포됩니다.
- Augment Model and Build LLM-powered Applications (모델 확장 및 LLM 기반 응용 프로그램 구축):
- 모델은 추가적인 기능이나 기능 확장을 위해 다른 시스템이나 API와 결합될 수 있습니다.
- LLM (Large Language Model)을 활용하여 다양한 응용 프로그램, 예를 들면 챗봇, 자동 작문 도구, 번역 서비스 등을 구축합니다.
이 단계는 모델을 실제 환경에서 사용할 준비를 하는 과정이며, 성능 모니터링, 지속적인 업데이트 및 유지 보수가 이어질 수 있습니다. 응용 프로그램 통합은 모델이 실제 사용자와 상호 작용하고 비즈니스 가치를 제공하는 단계입니다.