>  기사  >  기술 주변기기  >  대형 모델 애플리케이션 설계에 대한 10가지 생각

대형 모델 애플리케이션 설계에 대한 10가지 생각

王林
王林앞으로
2023-12-04 17:17:211241검색

기술이 만능은 아니지만, 기술 없이는 절대 불가능할 수도 있고, 대형 모델도 마찬가지일 수 있습니다. 대형 모델을 기반으로 한 애플리케이션 설계는 해결되는 문제에 초점을 맞춰야 합니다. 자연어 처리 분야에서는 대형 모델 자체가 다양한 NLP 작업을 시퀀스-투-시퀀스 모델로 어느 정도 통합합니다. 대형 모델을 사용하여 특정 생산 및 생활 문제를 해결하고 있으며 제품 및 기술 설계는 여전히 필수입니다.

그렇다면, 대형 모델이 소프트웨어 엔지니어링의 미래를 재구상하고 있다면 우리가 따라야 할 몇 가지 기본 원칙이 있을까요?

1. 모델 우선, 지속적인 반복

모델이 작업을 완료할 수 있다면 코드를 작성할 필요가 없지만, 코드는 그렇지 않습니다.

오늘날의 가치 모델이 점점 더 눈에 띄게되고 있습니다. 전통적인 프로그래밍 방법과 달리 현재 개발 아이디어는 "모델 우선"에 더 가깝습니다. 즉, 문제나 작업에 직면했을 때 즉시 코드 작성을 시작하기보다는 기존 모델을 활용하여 문제를 해결할 수 있는지 먼저 고려합니다. 코드가 고정되어 있기 때문에 모델 개발의 여지가 큽니다. 시간이 지남에 따라 모델은 강력한 학습 및 적응성 기능을 갖추고 지속적인 반복을 통해 자체적으로 최적화하고 개선할 수 있습니다. 따라서 우리의 최우선 과제는 모델의 잠재력을 활용하여 문제 해결을 위한 도구로 만드는 것입니다

전체 시스템의 목표는 효율적인 프로젝트를 구축하기 위한 의도를 계획하고 이해하는 LLM의 능력을 활용하는 것입니다. 그 과정에서 우리는 명령형 사고방식으로 돌아가 프로그램의 모든 세부 사항에 대해 코드를 작성하고 싶은 유혹을 받을 수 있습니다. 그러나 우리는 이러한 유혹에 저항해야 합니다. 이제 모델이 무언가를 안정적으로 수행하도록 만들 수 있는 한 모델이 발전함에 따라 모델은 더 좋고 강력해질 것입니다.

2 정확성을 절충하고 상호 작용을 사용하십시오. 정밀도를 높이려면 상호작용을 사용하여 모호성을 완화하세요. LLM으로 코딩할 때 올바른 사고방식은 "춤추는 곰이 무엇을 할 수 있는지 살펴보자"가 아니라 시스템에서 최대한 많은 활용을 얻는 것입니다. 예를 들어, "데이터베이스에서 보고서 작성" 또는 "1년치 주제 교육"과 같은 매우 일반적인 패턴을 일반 텍스트 프롬프트로 매개변수화하여 매우 가치 있고 차별화된 결과를 쉽게 생성할 수 있습니다.

높은 정확도를 유지하려면 다른 요소와의 관계를 고려해야 합니다. 이러한 균형을 이루기 위해 우리는 가능한 모호함과 오해를 제거하기 위해 대화형 접근 방식을 채택할 수 있습니다. 이 전략은 정확성을 향상시킬 뿐만 아니라 운영 유연성과 효율성도 높여줍니다

LLM으로 코딩하는 과정에서 핵심적인 사고방식은 '시도해보고 시도하기'가 아니라 시스템을 최대한 활용할 수 있는 방법에 대해 생각하는 것입니다. "무엇을 할 수 있나요?" 이는 단순한 기능 구현에 만족하지 않고 시스템의 잠재력을 깊이 탐구하여 더 큰 가치를 창출할 수 있도록 해야 한다는 의미입니다.

실제 애플리케이션에서는 몇 가지 공통 패턴을 구축할 수 있습니다. 예를 들어, "데이터베이스에서 보고서 생성"과 같은 모드는 적응성이 뛰어나며 간단한 텍스트 프롬프트를 통해 매개변수를 조정하여 다양한 요구 사항에 대처할 수 있습니다. 또 다른 예는 풍부한 교육 자원을 통합하고 개인화된 교육 요구 사항을 충족하기 위해 대화형 방법을 통해 쉽게 조정할 수 있는 "1년 심층 학습 과정 교육" 모델입니다.

이러한 공통 패턴의 적용을 통해 작업 효율성이 향상될 뿐만 아니라 가치 있고 차별화된 결과를 쉽게 생산할 수 있습니다. 정확성과 상호작용 명확성에 대한 이러한 전략은 의심할 여지 없이 대규모 모델 애플리케이션 설계에서 중요한 사고 방식입니다.

3 코드는 구문과 절차를 위한 것이고, 모델은 의미와 의도를 위한 것입니다.

현대 프로그래밍 분야에서는 코드와 모델 간의 업무 구분이 점점 더 명확해지고 있습니다. 간단히 말해서, 코드는 주로 구문과 절차 구현을 담당하는 반면, 모델은 의미와 의도를 생성하고 해석하는 데 중점을 둡니다. 실제 응용 프로그램에서 이러한 분업에는 다양한 표현이 있지만 핵심 아이디어는 동일합니다. 코드는 특정 지침과 프로세스를 실행하는 데 사용되는 반면 모델은 언어의 깊은 의미와 목표를 추론, 생성 및 이해하는 데 사용됩니다

기본적으로 모델은 언어의 의미와 목적을 추론하는 데는 탁월하지만, 특정 계산과 프로세스를 수행하라는 요청을 받으면 코드 성능이 저하되는 경우가 많습니다. 예를 들어, 상위 수준 모델은 스도쿠를 풀기 위해 코딩하기는 쉽지만 스도쿠 자체를 풀기에는 상대적으로 어려울 수 있습니다.

모든 코드에는 고유한 장점이 있습니다. 핵심은 특정 문제에 가장 적합한 도구를 선택하는 것입니다. 구문과 의미 사이의 경계는 대규모 모델 애플리케이션 설계에서 주요 과제입니다. 이러한 맥락에서 문제 해결을 위해 코드와 모델을 더욱 효과적으로 사용하려면 각각의 강점과 약점을 더 깊이 이해해야 합니다.

4 시스템을 구축할 때 취약성을 피하고 하드 코딩을 버리세요

, 무시할 수 없는 사실은 시스템의 전반적인 강도가 가장 취약한 부분에 의해 결정되는 경우가 많다는 것입니다. 이러한 관점은 전통적인 소프트웨어 시스템뿐만 아니라 대규모 모델을 기반으로 하는 애플리케이션에도 적용됩니다. 시스템 유연성과 효율성을 추구할 때는 하드 코딩을 최대한 피해야 합니다. 하드코딩이란 향후 변경이나 확장 가능성을 고려하지 않고 특정 값이나 논리를 코드에 직접 작성하는 것을 말합니다. 이러한 접근 방식은 단기적으로는 편리함을 제공할 수 있지만 장기적으로는 코드가 경직되고 유지 관리가 어려워질 수 있습니다. 따라서 코드와 알고리즘을 작성할 때 추론과 유연성을 추가하는 데 주의해야 합니다

프롬프트와 상호 작용을 디자인할 때 단순히 실행하는 것이 아니라 시스템이 자율적으로 결정과 추론을 내릴 수 있도록 충분한 정보와 논리를 포함하도록 노력해야 합니다. 미리 정의된 명령. 이러한 방식으로 하드 코딩의 사용을 줄일 수 있을 뿐만 아니라 LLM의 기능을 더 잘 활용하여 시스템을 더욱 스마트하고 유연하게 만들 수 있습니다.

5 데이터 품질이 최우선이며 LLM의 적용은 고품질 데이터와 밀접하게 관련되어 있습니다.

대형 모델은 "잘 교육받은" 개인처럼 뛰어난 능력을 보여주지만 실제 적용에서는 여전히 일부 부족합니다. 배경 및 이니셔티브

간단히 말해서, 이러한 모델에게 간단하거나 개방형 질문을 하면 간단하거나 일반적인 답변을 제공할 것입니다. 그러한 답변에는 깊이나 세부 사항이 부족할 수 있으며 모든 요구 사항을 충족하지 못할 수도 있습니다. 좀 더 자세하고 깊이 있는 답변을 얻으려면 질문하는 방법과 전략이 더 스마트해져야 합니다.

이것은 실제로 인공지능 시대의 "Garbage in, Garbage out" 원칙을 구현한 것입니다. 기술이 아무리 발전하더라도 수신되는 데이터의 품질은 여전히 ​​중요합니다. 입력 데이터가 모호하거나 부정확하거나 불완전한 경우 모델 출력도 그럴 가능성이 높습니다.

LLM 모델이 고품질의 심층적인 답변을 제공할 수 있으려면 입력 데이터가 정확하고 상세하며 맥락이 풍부한지 확인해야 합니다. 이는 또한 데이터 품질이 여전히 가장 중요하다는 것을 의미합니다. 데이터 품질에 주의를 기울이고 이를 보장해야만 이러한 고급 모델에서 진정으로 가치 있고 심층적인 정보를 얻을 수 있습니다.

6 불확실성을 예외로 처리

모델이 불확실한 상황에 직면할 때마다 우리는 그렇게 할 수 없습니다. 단순히 무시하거나 모호한 대답을 했습니다. 대신, 우리는 이러한 불확실성을 명확히 하기 위해 사용자와의 상호 작용 의도에 의존해야 합니다.

프로그래밍에서 중첩된 프롬프트 집합에 불확실성이 있는 경우(예를 들어 프롬프트의 결과가 여러 해석을 가질 수 있음) "예외 발생"과 유사한 전략을 채택해야 합니다. 이는 사용자와 상호 작용하거나 불확실성을 명확히 할 수 있는 수준에 도달할 때까지 이 불확실성이 스택의 더 높은 수준으로 전달되어야 함을 의미합니다.

이러한 설계 전략을 통해 프로그램은 불확실성에 직면했을 때 적절하게 대응할 수 있어 더욱 정확하고 신뢰할 수 있는 결과를 제공할 수 있습니다.

7 보편적인 프로토콜로서의 텍스트

텍스트가 유비쿼터스 프로토콜이 된 것은 주로 LLM의 우수한 덕분입니다. 자연어, 의도, 의미를 분석하는 능력. 따라서 텍스트는 프롬프트, 모듈 및 LLM 기반 서비스 간에 지침을 전송하는 데 선호되는 형식이 되었습니다.

일부 응용 프로그램 시나리오에서는 자연어가 약간 부정확할 수 있지만 XML과 같은 다른 구조화된 언어에 비해 간결하고 직관적이며 사람이 이해하기 쉽다는 장점이 있습니다. 물론 높은 수준의 정확성과 구조가 필요한 작업의 경우 구조화된 언어를 사용하여 약간의 도움을 줄 수 있습니다. 그러나 대부분의 시나리오에서 자연어는 지침과 의도를 전달하는 데 매우 효과적입니다.

이러한 LLM 기반 기술의 대중화 및 발전에 따라 텍스트는 "미래 보장형" 자연스러운 상호 작용 방법으로서 다양한 시스템과 다양한 프롬프트 간의 상호 운용성과 이해를 더욱 촉진할 것이라는 점은 언급할 가치가 있습니다. 완전히 다른 두 LLM 서비스가 동일한 텍스트 지침을 이해하고 응답할 수 있다면 둘 사이의 협업과 상호 작용은 인간 간의 의사 소통만큼 자연스럽고 원활해질 것입니다

내용을 다시 쓰는 목적은 원래 의미를 바꾸는 것이 아니라 언어를 중국어로 다시 쓰는 것입니다

8 복잡한 문제, 분해 연산

복잡한 문제에 직면했을 때, 그것은 단지 도전만이 아닙니다. 사람들, 대형 모델의 경우에도 마찬가지입니다. 실제 응용 프로그램에서 복잡한 문제의 프롬프트를 프로그램의 일부로 직접 사용하면 문제가 발생할 수 있습니다. 왜냐하면 우리에게 정말로 필요한 것은 추론의 결과이기 때문입니다

이 문제를 해결하기 위해 효과적인 방법은 다음을 사용하는 것입니다. "요소" "힌트. 이 프롬프트는 질문을 제기할 뿐만 아니라 자세한 답변을 제공한 후 모델에게 질문에서 핵심 정보를 추출하도록 요청합니다. 이 접근 방식은 실제로 복잡한 인지 작업을 비교적 간단한 작업으로 변환하기 때문에 효과적입니다. 어떤 사람에게 "이 글을 읽고 답을 찾아라"라는 과제를 준다면, 사용자가 관련 분야에 대한 전문 지식이 없더라도 자연어의 힘이 크기 때문에 이 과제를 완수할 가능성이 매우 높다고 상상해 보세요.

대형 모델을 기반으로 애플리케이션을 디자인할 때 주의해야 할 사항이 있습니다. 일반인들이 어려워하는 일들이 모델들에게도 똑같이 어려울 수 있습니다. 이러한 상황에 직면했을 때 가장 좋은 전략은 복잡한 문제나 작업을 더 간단한 단계로 나누는 것입니다. 이를 통해 처리의 어려움을 줄이고 답변의 안정성과 정확성을 높일 수 있습니다

9 통제가 있는 곳에 모델이 있습니다

모델은 도구일 뿐만 아니라 무기가 될 수도 있습니다. 우리 자신의 실수에 맞서 싸워라. 많은 경우 우리는 LLM(대형 언어 모델)의 작동을 "뇌"의 내부 프로세스로 상상하는 경향이 있습니다. 그러나 모델과 인간 사고 사이의 일부 유사성에도 불구하고 둘 사이에는 의미 있는 차이점이 많다는 점을 인식하는 것이 중요합니다.

한 가지 기능이 특히 중요합니다. 모델은 단기 상호 작용 중에 영구 메모리가 부족한 경우가 많습니다. 이는 모델이 1분 간의 상호 작용부터 다음 분까지의 모든 세부 사항을 기억하지 못할 가능성이 있음을 의미합니다. 이 기능은 우리에게 일부 제어 가능성을 제공합니다.

이 컨트롤은 코드 검토에만 국한되지 않습니다. 실제로 모델은 코드의 안전한 작동을 보장하기 위한 보안 모니터 역할을 할 수도 있으며, 보다 효과적인 테스트 계획을 수립하는 데 도움이 되는 테스트 전략의 구성 요소로도 사용될 수 있습니다. 고품질의 고품질 콘텐츠를 생성하는 데 도움이 되는 콘텐츠 필터

따라서 모델을 적절하게 제어하고 안내하는 한 모델은 작업에서 강력한 "조력자"가 될 수 있습니다. 이러한 제어의 기본은 모델의 내부 메커니즘과 특성에 대한 심층적인 이해와 숙달입니다.

10. 경계를 식별하고 큰 모델이 전능하다고 생각하지 마세요

대규모 언어 모델의 기능은 정말 놀랍습니다. 대량의 텍스트 데이터를 처리하고 구문 분석하며 논리적이고 일관된 텍스트를 생성할 수도 있습니다. 이러한 작업에 대한 인간의 성과. 하지만 그렇다고 해서 우리가 이러한 대형 모델을 맹목적으로 숭배하고 그들이 무엇이든 할 수 있다고 생각해야 한다는 의미는 아닙니다.

대형 모델에는 실제로 여전히 많은 제한과 한계가 있습니다. 그들은 많은 양의 텍스트 데이터를 처리할 수 있지만 인간처럼 언어의 뉘앙스와 맥락을 실제로 이해하지는 못합니다. 또한 훈련 데이터와 알고리즘의 선택에 따라 성능도 제한되며 일부 편견과 오류가 발생할 수 있습니다

따라서 대형 모델을 사용할 때는 합리적이고 신중한 태도를 유지하는 동시에 모델이 가져오는 편리성과 진행성을 높이 평가해야 합니다. 하지만 그 한계와 잠재적인 위험에도 주의하세요. 이러한 방식으로 이러한 모델은 대규모 모델 기반 애플리케이션의 건전한 개발을 촉진하는 데 더 잘 활용될 수 있습니다.

위 내용은 대형 모델 애플리케이션 설계에 대한 10가지 생각의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제