LLM의 컨텍스트 엔지니어링에 대한 부드러운 소개


틀 소개
큰 언어 모델이 놀라운 일을 할 수 있다는 것은 의심의 여지가 없습니다. 그러나 내부 지식 기반과는 별도로, 그들은 당신이 그들에게 먹이를주는 정보 (컨텍스트)에 크게 의존합니다. 컨텍스트 엔지니어링 모델이 성공할 수 있도록 해당 정보를 신중하게 설계하는 것입니다. 이 아이디어는 엔지니어들이 단순히 영리한 프롬프트를 작성하는 것만으로는 복잡한 응용 프로그램에 충분하지 않다는 것을 깨달았을 때 인기를 얻었습니다. 모델이 필요한 사실을 알지 못하면 추측 할 수 없습니다. 따라서 모델이 당면한 작업을 진정으로 이해할 수 있도록 모든 관련 정보를 조립해야합니다.
‘맥락 엔지니어링’이라는 용어가 주목을받은 이유 중 일부는 Andrej Karpathy의 널리 공유 된 트윗 때문입니다.
‘Context Engineering’을 통해 ‘신속한 엔지니어링’의 경우 +1. 사람들은 프롬프트를 짧은 작업 설명과 연관시킵니다. 일상적인 사용에서 LLM을 제공하는 반면, 모든 산업 강도 LLM 앱에서 컨텍스트 엔지니어링은 다음 단계에 적합한 정보로 컨텍스트 창을 채우는 섬세한 예술과 과학입니다.
이 기사는 약간 이론적 일 것이며, 가능한 한 단순하고 바삭 바삭하게 유지하려고 노력할 것입니다.
틀 컨텍스트 엔지니어링이란 무엇입니까?
‘Kanwal, LLMS 작동 방식에 대한 기사를 쓸 수 있습니까?’라는 요청을 받았다면 그것은 지시입니다. 나는 내가 찾은 것을 적합한 글을 쓸 것이며 아마도 중간 수준의 전문 지식을 가진 청중에게 그것을 목표로 할 것입니다. 이제 청중이 초보자라면 무슨 일이 일어나고 있는지 이해하지 못할 것입니다. 그들이 전문가라면, 너무 기본적이거나 상황에 맞지 않는 것으로 간주 할 수 있습니다. 또한 청중 전문 지식, 기사 길이, 이론적 또는 실용적인 초점 및 글쓰기 스타일과 같은 일련의 지침이 필요합니다.
마찬가지로, 컨텍스트 엔지니어링은 사용자 선호도 및 예제에서 검색된 사실 및 도구 출력에 이르기까지 LLM에 모든 것을 제공하므로 목표를 완전히 이해합니다.
다음은 LLM의 맥락에 들어갈 수있는 것들을 만든 시각적입니다.


이러한 각 요소는 모델의 컨텍스트 창의 일부로 볼 수 있습니다. 맥락 공학은 이들 중 어느 것이 포함되어야하는지, 어떤 형태, 그리고 순서대로 결정하는 관행입니다.
틀 컨텍스트 엔지니어링은 신속한 엔지니어링과 어떻게 다릅니 까?
나는 이것을 불필요하게 오래 만들지 않을 것입니다. 지금까지 아이디어를 파악했으면 좋겠다. 그러나 그렇지 않은 사람들에게는 간단히 말씀 드리겠습니다. 프롬프트 엔지니어링 전통적으로 좋은 답변을 얻기 위해 단일 자체 포함 프롬프트 (즉각적인 질문 또는 지시)를 작성하는 데 중점을 둡니다. 대조적으로, 컨텍스트 엔지니어링 LLM 주변의 전체 입력 환경에 관한 것입니다. 프롬프트 엔지니어링이 ‘모델에 무엇을 묻는가?’라면 컨텍스트 엔지니어링은 ‘모델은 무엇을 보여주고 해당 콘텐츠가 작업을 수행 할 수 있도록 어떻게 관리합니까?’입니다.
틀 맥락 공학의 작동 방식
Context Engineering은 3 개의 엄격하게 연결된 구성 요소의 파이프 라인을 통해 작동하며, 각각은 적절한 시간에 올바른 정보를 볼 수 있도록 모델이 더 나은 결정을 내릴 수 있도록 설계되었습니다. 이들 각각의 역할을 살펴 보겠습니다.
// 1. 문맥 검색 및 생성
이 단계에서는 모든 관련 정보가 모델이 작업을 더 잘 이해하도록 돕기 위해 모든 관련 정보를 가져 오거나 생성합니다. 여기에는 과거 메시지, 사용자 지침, 외부 문서, API 결과 또는 구조화 된 데이터가 포함될 수 있습니다. 보다 효과적인 추론을 위해 명확한 프레임 워크 (간결한, 논리적, 명시 적, 적응성, 반사적)를 사용하여 HR 쿼리에 응답하기위한 회사 정책 문서를 검색하거나 잘 구조화 된 프롬프트를 생성 할 수 있습니다.
// 2. 컨텍스트 처리
이것은 모든 원시 정보가 모델에 최적화되는 곳입니다. 이 단계에는 위치 보간 또는 메모리 효율적인 관심 (예 : 그룹화 된 쿼리주의 및 Mamba와 같은 모델)과 같은 장기 텍스트 기술이 포함되어 있으며, 이는 모델이 매우 긴 입력을 처리하는 데 도움이됩니다. 또한 모델이 자체 출력을 반복적으로 반영하고 개선하라는 메시지가 표시되는 자체 검토도 포함됩니다. 최근의 일부 프레임 워크는 모델이 자신의 피드백을 생성하고, 성능을 판단하며, 제작 및 필터를 필터링하여 자율적으로 진화 할 수 있도록합니다.
// 3. 맥락 관리
이 구성 요소는 정보 저장, 업데이트 및 상호 작용에 사용되는 방법을 처리합니다. 이것은 고객 지원 또는 시간이 지남에 따라 운영되는 에이전트와 같은 응용 프로그램에서 특히 중요합니다. 장기 메모리 모듈, 메모리 압축, 롤링 버퍼 캐시 및 모듈 식 검색 시스템과 같은 기술을 통해 모델을 압도하지 않고 여러 세션에서 컨텍스트를 유지할 수 있습니다. 그것은 당신이 어떤 맥락에 넣는 것뿐만 아니라 효율적이고, 관련성이 있으며, 최신 상태를 유지하는 방법에 관한 것입니다.
틀 상황 공학의 도전과 완화
완벽한 컨텍스트를 설계하는 것은 더 많은 데이터를 추가하는 것이 아니라 균형, 구조 및 제약에 관한 것입니다. 당신이 겪을 수있는 주요 과제와 잠재적 솔루션을 살펴 보겠습니다.
- 관련이 없거나 시끄러운 맥락 (맥락 산만) : 모델에 너무 많은 관련이없는 정보를 공급하면 혼동 될 수 있습니다. 우선 순위 기반 컨텍스트 어셈블리, 관련성 스코어링 및 검색 필터를 사용하여 가장 유용한 청크 만 가져옵니다.
- 대기 시간 및 자원 비용 : 길고 복잡한 상황은 계산 시간과 메모리 사용을 증가시킵니다. 관련없는 기록 또는 오프로드 계산을 검색 시스템 또는 가벼운 모듈로 인출하십시오.
- 도구 및 지식 통합 (컨텍스트 충돌) : 도구 출력 또는 외부 데이터를 병합 할 때 충돌이 발생할 수 있습니다. 스키마 지침 또는 메타 태그를 추가하십시오 (예 :
@tool_output
) 형식 문제를 피하기 위해. 소스 충돌의 경우 속성을 시도하거나 모델이 불확실성을 표현하도록하십시오. - 여러 회전에 대한 일관성 유지 : 다중 회전 대화에서 모델은 사실을 환각 시키거나 잃을 수 있습니다. 주요 정보를 추적하고 필요할 때 선택적으로 다시 소개하십시오.
다른 두 가지 중요한 문제 : 문맥 중독 그리고 맥락 혼란 잘 설명되었습니다 드류 브레 우니그리고 나는 당신이 그것을 확인하는 것이 좋습니다.
틀 마무리
컨텍스트 엔지니어링은 더 이상 선택적 기술이 아닙니다. 언어 모델이 반응하는 것이 아니라 이해하는 방법의 중추입니다. 여러면에서 최종 사용자에게는 보이지 않지만 출력이 얼마나 유용하고 지능적인지 정의합니다. 이것은 그것이 무엇인지, 어떻게 작동하는지에 대한 부드러운 소개였습니다.
더 자세히 탐색하는 데 관심이 있다면 더 깊이 갈 수있는 두 가지 견고한 자원이 있습니다.
Kanwal Mehreen 기계 학습 엔지니어이자 데이터 과학에 대한 열정과 AI의 의학 교차점을 가진 기술 작가입니다. 그녀는 eBook “Chatgpt의 생산성을 극대화하는 것”을 공동 저술했습니다. APAC의 Google Generation Scholar 2022로서 그녀는 다양성과 학업 우수성을 챔피언시킵니다. 그녀는 또한 Tech Scholar, Mitacs Globalink Research Scholar 및 Harvard Wecode Scholar의 Teradata 다양성으로 인정 받고 있습니다. Kanwal은 STEM 분야의 여성에게 힘을 실어주기 위해 펨코드를 설립 한 변화에 대한 열렬한 옹호자입니다.
Post Comment