watsonx.ai IBM granite-7b-lab foundation model 추론하는 실험을 통해 그 기능을 알아보고 기술이나 지식을 기여할 수 있는 분야를 찾아보세요.
granite-7b-lab foundation model IBM 70억 개의 매개변수를 가진 대규모 언어 모델입니다.
IBM Granite 시리즈의 다른 기초 모델과 마찬가지로, 이 모델은 기업 전문 데이터 세트에 대해 사전 학습되므로 다양한 산업의 전문 언어에 익숙하고 관련 업계 지식에 기반한 콘텐츠를 보다 쉽게 생성할 수 있습니다.
IBM Granite 시리즈의 일부 파운데이션 모델과 달리, granite-7b-lab foundation model LAB( 대규모 chatBots 정렬 )이라는 IBM Research의 새로운 정렬 방법을 사용하여 튜닝되었습니다. LAB 정렬 튜닝 방법에 대한 자세한 내용은 InstructLab 파운데이션 모델을 참조하세요.
foundation model 분류 살펴보기
foundation model 분류를 살펴보면서 granite-7b-lab foundation model 기능에 대해 자세히 알아볼 수 있습니다.
분류 체계에 액세스하려면 다음 단계를 완료하세요:
채팅 모드의 watsonx.ai 프롬프트 랩에서 모델 필드를 클릭한 다음 모든 기초 모델 보기를 선택합니다.
'
granite-7b-lab
foundation model 대한 타일을 찾아 클릭합니다.클릭하여 모델 카드의 교육 분류법 탭을 엽니다.
분류학에 대한 지식과 기술을 살펴보세요. 분류 트리의 각 끝 노드는 모델이 학습한 스킬을 나타냅니다. 스킬을 클릭하면 모델 학습에 사용된 합성 데이터를 생성하는 데 사용된 시드 예시를 볼 수 있습니다.
granite-7b-lab foundation model 프롬프트하기
granite-7b-lab foundation model 최상의 결과를 얻으려면 다양한 작업에 대한 foundation model 입력을 만들 때 권장 프롬프트 구조를 사용하는 것부터 시작하세요. 모델로 작업하면서 모델 매개변수와 프롬프트 형식을 조정하여 사용 사례에 가장 적합한 설정을 찾을 수 있습니다.
granite-7b-lab foundation model 다음 용도에 최적화되어 있습니다:
분류
granite-7b-lab foundation model 사용하여 정보를 분류하려면 다음 권장 사항을 따르세요.
다음 표에는 분류 작업을 위해 granite-7b-lab foundation model 메시지를 표시하는 데 권장되는 모델 매개변수가 나와 있습니다.
매개변수 | 권장 값 또는 범위 | 설명 |
---|---|---|
디코딩 | 그리디 | 욕심 디코딩은 가장 가능성이 높은 옵션 중에서만 토큰을 선택하므로 텍스트를 분류하려는 경우에 가장 적합합니다. |
반복 페널티 | 1 | 가장 낮은 값을 사용합니다. 반복이 예상됩니다. |
최대 토큰 | 다양함 | 가장 긴 클래스 레이블의 토큰 수를 포함하는 값(예: 3 또는 5 )을 사용합니다. 토큰을 제한하면 모델이 적절한 클래스 레이블만 반환하고 다른 것은 반환하지 않도록 권장합니다. |
중지 기준 | <|endoftext|> | Without the <|endoftext|> stop sequence, the model might generate more output than the class label. |
granite-7b-lab foundation model 분류 작업을 요청하려면 다음 단계를 수행합니다:
모델이 입력에 할당할 클래스 또는 분류 레이블을 식별합니다. 프롬프트의 지침 부분에 이러한 클래스 레이블을 나열해야 합니다.
예를 들어 고객 제품 리뷰를 긍정 또는 부정으로 분류하려는 경우 두 개의 클래스 레이블을 정의할 수 있습니다:
Postitive
및Negative
.모델이 분류할 입력 텍스트 유형에 대한 대표적인 예시를 두세 개 수집합니다.
프롬프트 랩에서 자유형 모드의 granite-7b-lab foundation model 작업하여 프롬프트를 구성할 수 있습니다.
모델 매개변수 패널에서 표 1의 권장 모델 매개변수를 설정합니다.
프롬프트에서 시스템 프롬프트, 사용자 입력, 모델의 출력 위치를 명확하게 식별합니다.
예를 들어, granite-7b-lab foundation model 학습시켜 텍스트를 분류할 때 다음과 같은 프롬프트 구조가 사용되었습니다:
<|system|> You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior. <|user|> {INSTRUCTION} Your response should only include the answer. Do not provide any further explanation. Here are some examples, complete the last one: {INPUT_LABEL}: {ICL_INPUT_1} {OUTPUT_LABEL}: {ICL_OUTPUT_1} {INPUT_LABEL}: {ICL_INPUT_2} {OUTPUT_LABEL}: {ICL_OUTPUT_2} {INPUT_LABEL}: {TEST_INPUT} {OUTPUT_LABEL}: <|assistant|>
비슷한 구조를 사용하여 모델의 학습을 활용할 수 있습니다. 프롬프트 템플릿에서 플레이스홀더 변수를 바꾸기만 하면 됩니다.
표 3a: 분류 템플릿 자리 표시자 변수 자리 표시자 변수 설명 예 {INSTRUCTION}
작업에 대한 설명입니다. 모델이 입력에 할당할 클래스 목록을 포함하세요. 각 제품 리뷰에 대해 리뷰가 긍정적인지 부정적인지 표시합니다. {INPUT_LABEL}
분류할 텍스트의 짧은 레이블입니다. Input
,Customer review
,Feedback
,Comment
{OUTPUT_LABEL}
분류 값을 나타내는 짧은 레이블입니다. Class
{ICL_INPUT_N}
선택사항. 분류할 입력 텍스트의 예입니다. 상황에 맞는 학습을 지원하기 위해 몇 컷 프롬프트를 사용하려는 경우 예제를 추가하세요. The service representative did not listen to a word I said. It was a waste of my time.
{ICL_OUTPUT_N}
해당 입력 텍스트 예제에 클래스 레이블이 할당된 출력 예시입니다. Positive
,Negative
분류 프롬프트 예제
다음 프롬프트는 고객이 지원 센터 직원에 대해 공유하는 피드백을 분류합니다. 다음 모델 매개 변수가 지정됩니다:
- 시퀀스 중지:
<|endoftext|>
- 최대 토큰: 3
<|system|>
You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
<|user|>
For each feedback, specify whether the content is Positive or Negative. Your response should only include the answer. Do not provide any further explanation.
Here are some examples, complete the last one:
Feedback:
Carol, the service rep was so helpful. She answered all of my questions and explained things beautifully.
Class:
Positive
Feedback:
The service representative did not listen to a word I said. It was a waste of my time.
Class:
Negative
Feedback:
Carlo was so helpful and pleasant. He was able to solve a problem that I've been having with my software for weeks now.
Class:
<|assistant|>
이 프롬프트가 제출될 때 granite-7b-lab foundation model 의해 생성되는 출력은 ' Positive
' 입니다.
granite-7b-lab과 대화하기
granite-7b-lab foundation model 채팅할 때 최상의 결과를 얻으려면 먼저 다음 권장 사항을 따르고 원하는 결과를 얻기 위해 실험해 보세요.
다음 표에는 대화형 작업을 위해 granite-7b-lab foundation model 메시지를 표시하는 데 권장되는 모델 매개변수가 나와 있습니다.
매개변수 | 권장 값 또는 범위 | 설명 |
---|---|---|
디코딩 | 샘플링 | 샘플링 디코딩은 보다 창의적인 텍스트를 생성하여 챗봇의 응답에 흥미와 개성을 더하는 데 도움이 됩니다. 그러나 예측할 수 없는 결과를 초래할 수도 있습니다. 다음 모델 파라미터 세트를 사용하여 창의성의 정도를 제어할 수 있습니다. |
최고 P: 0.85 최고 K: 50 온도: 0.7 |
이러한 샘플링 디코딩 매개변수는 모두 함께 작동합니다. 모델은 출력에 포함할 토큰을 선택할 토큰의 하위 집합을 선택합니다. 이 하위 집합에는 가장 확률이 높은 토큰 50개(상위 K) 또는 확률 점수를 합산했을 때 총 점수가 0.85(상위 P)에 도달하는 토큰이 포함됩니다. 상대적으로 낮은 온도 값인 0.7은 토큰 점수의 차이를 증폭시킵니다. 결과적으로 컷을 통과하는 토큰은 일반적으로 가장 가능성이 높은 토큰입니다. - 응답의 창의성과 다양성을 높이려면 온도 값을 높이세요. - - 모델이 환각을 느끼면 온도 값을 낮추세요. |
|
반복 페널티 | 1.05 | 페널티를 이 낮은 값으로 설정하여 챗봇이 단어나 문구를 반복하여 로봇처럼 들리지 않도록 합니다. |
난수 시드 | – | 테스트 중이며 테스트에서 무작위성을 요소로 제거하려는 경우에만 이 설정에 값을 지정하세요. 예를 들어 온도를 변경하여 출력에 어떤 영향을 미치는지 확인하려면 동일한 입력을 반복적으로 제출하고 매번 온도 값만 변경하세요. 또한 매번 임의의 토큰 선택이 모델 출력에도 영향을 미치지 않도록 5 와 같은 숫자를 임의의 시드로 지정합니다. 매번 같은 번호를 지정하는 한 번호 자체는 중요하지 않습니다. |
시퀀스 중지 | <|endoftext|> | Without the <|endoftext|> stop sequence, the model might add more explanatory information than is necessary. |
최대 토큰 | 900 | 입력 토큰과 출력 토큰을 모두 포함하는 granite-7b-lab foundation model 최대 컨텍스트 창 길이는 8192입니다. 토큰에 대한 자세한 내용은 토큰과 토큰화을 참조하세요. 각 후속 질문에는 대화 내역이 모델 프롬프트의 일부로 포함됩니다. granite-7b-lab foundation model 일반적으로 최대 5회전까지 또는 입력된 토큰의 길이가 4,000 토큰에 도달할 때까지 대화를 지속할 수 있습니다. |
모델 매개변수에 대한 자세한 내용은 메시지 표시를 위한 모델 매개변수를 참조하세요.
granite-7b-lab foundation model 채팅 작업을 요청하려면 다음 단계를 시도하세요:
채팅 모드의 프롬프트 랩에서 granite-7b-lab foundation model 선택합니다.
채팅 모드에는 더 높은 최대 토큰 값을 포함하여 대화 교환에 최적화된 기본 프롬프트 매개변수 값이 있습니다.
모델 매개변수 패널에서 표 2의 권장 모델 매개변수 값을 적용합니다.
채팅 모드에서는 입력 텍스트에 서식을 지정하지 않고 사용자 입력을 제출할 수 있습니다.
채팅 모드에서는 시스템 프롬프트 텍스트가 적용됩니다. 텍스트 아이콘 을 클릭하면 텍스트 서식이 어떻게 지정되는지 확인할 수 있습니다.
자유 형식 모드에서 동일한 프롬프트를 제출하려면 시스템 프롬프트를 설정해야 합니다.
지침을 추가합니다. 예를 들어 다음 지침 텍스트는 모델을 학습시키는 데 사용되었으므로 모델에 익숙합니다.
귀하는 IBM Research에서 개발한 AI 언어 모델입니다. 당신은 신중한 조수입니다. 지침을 주의 깊게 따릅니다. 도움이 되고 무해하며 윤리적 가이드라인을 준수하고 긍정적인 행동을 장려합니다.
권장 시스템 프롬프트 텍스트를 복사하려면 다음 코드 스니펫에서 클립보드에 복사 아이콘을 클릭합니다.
You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
대화를 시작합니다.
채팅 작업에 사용되는 프롬프트의 최적 구조는 다음과 같습니다. 프롬프트에는 프롬프트의 다음 세그먼트를 식별하는 구문이 포함되어 있습니다:
<|system|>
': foundation model 시스템 프롬프트라고도 하는 명령을 식별합니다.<|user|>
: 답변할 쿼리 텍스트입니다.<|assistant|>
: 생성된 답변이 예상됨을 나타내는 프롬프트 끝에 있는 단서입니다.
프롬프트 랩에서 자유 형식 모드로 프롬프트를 제출할 때는 예상 프롬프트 형식을 사용하세요.
<|system|> You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior. <|user|> {PROMPT} <|assistant|>
예를 들어,
<|system|> You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior. <|user|> What is the capital of Massachusetts? <|assistant|>
대화를 계속 이어가기 위해 후속 질문을 하세요.
여러 대화 상자 턴이 있는 채팅에 사용되는 프롬프트의 최적 구조는 다음과 같습니다. 프롬프트 랩에서 자유 형식 모드로 프롬프트를 제출하는 경우 이 프롬프트 형식을 사용하세요.
<|system|> You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior. <|user|> {ROUND1_PROMPT} <|assistant|> {MODEL_RESPONSE} <|user|> {ROUND2_PROMPT} <|assistant|>
예를 들어,
<|system|> You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior. <|user|> What is the capital of Massachusetts? <|assistant|> The capital of Massachusetts is Boston. Boston is not only the largest city in Massachusetts but also one of the oldest cities in the United States, with a rich history and vibrant culture. It is home to numerous universities, hospitals, and technology companies, making it a significant center for education, biotechnology, finance, and tourism. If you have any specific questions about Boston or Massachusetts, feel free to ask! <|user|> What US cities are older? <|assistant|> There are several cities in the United States that are older than Boston and even older than the country itself! Some of these historical gems include: 1. St. Augustine, Florida: Established in 1565, St. Augustine is the oldest continuously inhabited European-established settlement within the borders of the contiguous United States. 2. Jamestown, Virginia: Founded in 1607, Jamestown was the first permanent English settlement in North America. 3. Plymouth, Massachusetts: Established in 1620, Plymouth ...
RAG 패턴으로 사실적인 답변 반환하기
granite-7b-lab foundation model 사실에 입각한 답변을 반환하도록 안내하려면 검색 증강 생성 패턴을 사용합니다. 검색 증강 생성은 사용자가 모델에 제출하는 입력에 대해 논의할 주제에 대한 사실적 정보를 기반으로 합니다. 자세한 내용은 검색 증강 생성(RAG)를 참조하세요.
granite-7b-lab foundation model 사실에 입각한 답변을 반환하려면 다음 권장 사항을 따르세요.
다음 표에는 검색 증강 생성 작업을 위해 granite-7b-lab foundation model 메시지를 표시하는 데 권장되는 모델 매개변수가 나와 있습니다.
매개변수 | 권장 값 또는 범위 | 설명 |
---|---|---|
디코딩 | 그리디 | 욕심 디코딩은 가장 가능성이 높은 옵션 중에서만 토큰을 선택하므로 사실적인 답변을 원할 때 가장 적합합니다. |
반복 페널티 | 1 | 가장 낮은 값을 사용합니다. 사실에 입각한 답변이 목표인 경우 반복이 허용됩니다. |
최대 토큰 | 500 | 모델은 가능한 한 완벽하게 질문에 답할 수 있습니다. 입력 토큰과 출력 토큰을 모두 포함하는 granite-7b-lab foundation model 최대 컨텍스트 창 길이는 8192라는 것을 기억하세요. 프롬프트의 근거로 추가하는 문서를 포함하여 입력한 내용을 이 한도 내에서 유지하세요. 토큰에 대한 자세한 내용은 토큰과 토큰화를 참조하세요. |
중지 기준 | <|endoftext|> | granite-7b-lab foundation model 유용한 기능은 각 응답 끝에 <|endoftext|>라는 이름의 특수 토큰을 포함한다는 점입니다. 일부 생성 모델은 허용된 최대 토큰 수보다 적은 수의 토큰으로 입력에 대한 응답을 반환하는 경우, 입력의 패턴을 반복할 수 있습니다. 이 모델은 프롬프트에 안정적인 정지 시퀀스를 통합하여 이러한 반복을 방지합니다. |
모델 매개변수에 대한 자세한 내용은 메시지 표시를 위한 모델 매개변수를 참조하세요.
granite-7b-lab foundation model 검색 증강 생성 작업을 요청하려면 다음 단계를 시도하세요:
모델이 토론할 주제에 대한 사실적인 정보가 있고 사용 권한이 있는 신뢰할 수 있는 리소스를 찾습니다. 문서의 발췌문을 텍스트 편집기나 나중에 액세스할 수 있는 다른 도구에 복사합니다.
예를 들어 리소스는 회사 웹사이트의 제품 정보나 제품 설명서일 수 있습니다.
프롬프트 랩에서 자유형 모드를 열어 프롬프트를 구성할 수 있습니다. granite-7b-lab foundation model 선택합니다.
모델 매개변수 패널에서 표 3의 권장 모델 매개변수를 설정합니다.
프롬프트에서 시스템 프롬프트, 사용자 입력, 모델의 출력 위치를 명확하게 정의합니다.
예를 들어, 다음 프롬프트 구조는 granite-7b-lab foundation model 관련 정보를 반환하는 데 도움이 될 수 있습니다.
<|system|> You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior. <|user|> You are an AI language model designed to function as a specialized Retrieval Augmented Generation (RAG) assistant. When generating responses, prioritize correctness, i.e., ensure that your response is grounded in context and user query. Always make sure that your response is relevant to the question. Answer Length: {ANSWER_LENGTH} [Document] {DOCUMENT1_TITLE} {DOCUMENT1_CONTENT} [End] [Document] {DOCUMENT2_TITLE} {DOCUMENT2_CONTENT} [End] [Document] {DOCUMENT3_TITLE} {DOCUMENT3_CONTENT} [End] {QUERY} <|assistant|>
주: 문서 콘텐츠의 시작과 끝은 특수 태그
[Document]
및[End]
으로 표시합니다. 프롬프트에 콘텐츠 유형 또는 하위 섹션 헤더를 식별하는 특수 태그를 추가하려면 비슷한 구문을 사용합니다. granite-7b-lab foundation model 생성할 때 다음과 같은 특수 태그를 처리하도록 학습했습니다:<|system|>
': foundation model 시스템 프롬프트라고도 하는 명령을 식별합니다.<|user|>
: 답변할 쿼리 텍스트입니다.<|assistant|>
: 생성된 답변이 예상됨을 나타내는 프롬프트 끝에 있는 단서입니다.
사용자 지정 태그에 동일한
<|tagname|>
구문을 사용하지 않으면 모델을 혼동할 수 있습니다.이 프롬프트 템플릿을 복사한 경우 프롬프트 랩 편집기에 붙여넣은 후 자리 표시자 변수를 바꿉니다.
표 4: RAG 템플릿 플레이스홀더 변수 자리 표시자 변수 설명 예 {ANSWER_LENGTH}
선택사항. 답변에 대한 예상 응답 길이를 정의합니다. 옵션은 다음과 같습니다(가장 짧은 답변부터 가장 긴 답변까지): single word
,concise
,narrative
{DOCUMENTn_TITLE}
사실 정보를 발췌한 문서의 제목입니다. 둘 이상의 문서에 있는 콘텐츠를 포함할 수 있습니다. 제품 브로셔 {DOCUMENTn_CONTENT}
모델이 지식적으로 토론할 수 있도록 사실적인 정보가 포함된 텍스트 발췌문입니다. 마케팅 브로셔, 제품 설명서, 회사 웹사이트 또는 기타 신뢰할 수 있는 자료의 텍스트. {QUERY}
사실에 입각하여 답변해야 하는 질문입니다. 문서에서 논의되는 주제에 대한 질문입니다. Tip: 또는 문서에 프롬프트 변수를 정의하여 사용하면 프롬프트를 재사용하고 매번 콘텐츠를 동적으로 교체할 수 있습니다. 자세한 내용은 재사용 가능한 프롬프트 작성하기를 참조하세요.
검색 증강 생성 프롬프트 예시
다음 프롬프트는 granite-7b-lab foundation model 사용하여 프롬프트 튜닝에 대한 질문에 답변합니다.
주: 문서 내용은 재단 모델 튜닝 방법 주제에서 가져온 것입니다.
<|system|>
You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
<|user|>
You are an AI language model designed to function as a specialized Retrieval Augmented Generation (RAG) assistant. When generating responses, prioritize correctness, i.e., ensure that your response is grounded in context and user query. Always make sure that your response is relevant to the question.
Answer length: concise
[Document]
How prompt-tuning works
Foundation models are sensitive to the input that you give them. Your input, or how you prompt the model, can introduce context that the model will use to tailor its generated output. Prompt engineering to find the right prompt often works well. However, it can be time-consuming, error-prone, and its effectiveness can be restricted by the context window length that is allowed by the underlying model.
Prompt-tuning a model in the Tuning Studio applies machine learning to the task of prompt engineering. Instead of adding words to the input itself, prompt-tuning is a method for finding a sequence of values that, when added as a prefix to the input text, improve the model's ability to generate the output you want. This sequence of values is called a prompt vector.
Normally, words in the prompt are vectorized by the model. Vectorization is the process of converting text to tokens, and then to numbers defined by the model's tokenizer to identify the tokens. Lastly, the token IDs are encoded, meaning they are converted into a vector representation, which is the input format that is expected by the embedding layer of the model. Prompt-tuning bypasses the model's text-vectorization process and instead crafts a prompt vector directly. This changeable prompt vector is concatenated to the vectorized input text and the two are passed as one input to the embedding layer of the model. Values from this crafted prompt vector affect the word embedding weights that are set by the model and influence the words that the model chooses to add to the output.
To find the best values for the prompt vector, you run a tuning experiment. You demonstrate the type of output that you want for a corresponding input by providing the model with input and output example pairs in training data. With each training run of the experiment, the generated output is compared to the training data output. Based on what it learns from differences between the two, the experiment adjusts the values in the prompt vector. After many runs through the training data, the model finds the prompt vector that works best.
[End]
How does prompt tuning work?
<|assistant|>
granite-7b-lab foundation model 입력과 함께 제공된 문서 콘텐츠의 정보를 기반으로 신속한 튜닝이 어떻게 작동하는지에 대한 정확한 요약을 생성합니다.
출력은 다음과 같습니다:
프롬프트 튜닝은 프롬프트 벡터라고 하는 일련의 값을 조정하여 모델의 특정 출력 생성 기능을 개선하는 방법입니다. 프롬프트 튜닝은 입력에 단어를 직접 추가하는 대신 모델에서 설정한 단어 임베딩 가중치에 직접 영향을 미치는 프롬프트 벡터를 만듭니다. 이는 입력 텍스트를 벡터화하고 토큰 ID를 벡터 표현으로 인코딩한 다음, 제작된 프롬프트 벡터와 연결하여 모델의 임베딩 레이어에 하나의 입력으로 전달함으로써 달성할 수 있습니다. 실험은 생성된 출력과 학습 데이터 예시에서 원하는 출력 간의 차이에 따라 프롬프트 벡터의 값을 조정합니다. 학습 데이터를 여러 번 실행하면서 모델은 가장 효과적인 프롬프트 벡터를 찾습니다.
자세히 알아보기
granite-7b-lab foundation model 대해 자세히 알아보려면 다음 리소스를 참조하세요:
상위 주제: IBM 파운데이션 모델