생성 데이터 인텔리전스

이제 Amazon SageMaker JumpStart에서 Gemma를 사용할 수 있습니다 | 아마존 웹 서비스

시간

오늘 우리는 다음과 같은 소식을 발표하게 되어 기쁘게 생각합니다. 아체 이제 다음을 사용하는 고객이 모델을 사용할 수 있습니다. Amazon SageMaker 점프스타트. 젬마는 다음의 가족입니다 언어 모델 Google의 Gemini 모델을 기반으로 하며 최대 6조 개의 텍스트 토큰에 대해 훈련되었습니다. Gemma 제품군은 7억 매개변수 모델과 2억 매개변수 모델의 두 가지 크기로 구성됩니다. 이제 Gemma 2B 및 Gemma 7B 사전 훈련 및 명령 조정 모델을 사용할 수 있습니다. 세이지메이커 점프스타트. JumpStart는 SageMaker의 기계 학습(ML) 허브로, ML을 빠르게 시작할 수 있도록 기본 제공 알고리즘 및 종단 간 솔루션 템플릿 외에도 기초 모델에 대한 액세스를 제공합니다.

이 게시물에서는 SageMaker JumpStart에서 Gemma 모델을 배포하고 사용 사례에 맞게 미세 조정하는 방법을 안내합니다. 전체 노트북은 다음에서 사용할 수 있습니다. GitHub의.

젬마 모델

아체 경량의 최첨단 제품군입니다. 모델 만드는데 사용된 것과 동일한 연구와 기술로 만들어졌습니다. 쌍둥이 자리 모델. Google DeepMind와 Google의 다른 팀이 개발한 Gemma는 Gemini에서 영감을 받았습니다. Gemma는 텍스트 영역에서 강력한 일반 능력과 규모에 따른 최첨단 이해 및 추론 기술을 보여줍니다. 질문 답변, 상식 추론, 수학과 과학, 코딩 등 다양한 영역에 걸쳐 유사하거나 더 큰 규모의 공개적으로 사용 가능한 다른 모델에 비해 더 나은 성능을 달성합니다. Gemma는 Gemma 모델을 사용하여 개발자 혁신을 지원하기 위해 모델 가중치를 출시했습니다. Gemma가 새로운 제품으로 출시되었습니다. 책임감 있는 생성 AI 툴킷 Gemma를 사용하여 보다 안전한 AI 애플리케이션을 만들기 위한 지침과 필수 도구를 제공합니다.

SageMaker의 기초 모델

JumpStart는 SageMaker의 ML 개발 워크플로 내에서 사용할 수 있는 Hugging Face, PyTorch Hub 및 TensorFlow Hub를 비롯한 인기 있는 모델 허브의 다양한 모델에 대한 액세스를 제공합니다. 최근 ML의 발전으로 다음과 같은 새로운 종류의 모델이 등장했습니다. 기초 모델, 일반적으로 수십억 개의 매개변수에 대해 교육을 받고 텍스트 요약, 디지털 아트 생성 및 언어 번역과 같은 광범위한 사용 사례 범주에 적용할 수 있습니다. 이러한 모델은 교육하는 데 비용이 많이 들기 때문에 고객은 이러한 모델을 직접 교육하기보다는 기존의 사전 교육된 기초 모델을 사용하고 필요에 따라 미세 조정하기를 원합니다. SageMaker는 SageMaker 콘솔에서 선택할 수 있는 선별된 모델 목록을 제공합니다.

이제 JumpStart 내에서 다양한 모델 제공자의 기본 모델을 찾을 수 있으므로 기초 모델을 빠르게 시작할 수 있습니다. 다양한 작업이나 모델 제공자를 기반으로 기반 모델을 찾고, 모델 특성 및 사용 조건을 검토할 수 있습니다. 테스트 UI 위젯을 사용하여 이러한 모델을 시험해 볼 수도 있습니다. 대규모 기반 모델을 사용하려는 경우 SageMaker를 종료하지 않고도 모델 공급자가 사전 구축한 노트북을 사용하여 이를 수행할 수 있습니다. 모델은 AWS에서 호스팅 및 배포되므로 모델 평가에 사용하든 대규모로 사용하든 관계없이 데이터는 제3자와 공유되지 않습니다.

JumpStart에서 Llama Guard 모델을 사용하는 방법을 살펴보겠습니다.

Jumpstart에서 Gemma 모델 탐색

SageMaker Studio UI 및 SageMaker Python SDK의 SageMaker JumpStart를 통해 Gemma 기반 모델에 액세스할 수 있습니다. 이 섹션에서는 SageMaker Studio에서 모델을 검색하는 방법을 살펴보겠습니다.

SageMaker Studio는 데이터 준비부터 ML 모델 구축, 교육 및 배포에 이르기까지 모든 ML 개발 단계를 수행하기 위해 특별히 제작된 도구에 액세스할 수 있는 단일 웹 기반 시각적 인터페이스를 제공하는 IDE(통합 개발 환경)입니다. SageMaker Studio를 시작하고 설정하는 방법에 대한 자세한 내용은 다음을 참조하십시오. 아마존 세이지 메이커 스튜디오.

SageMaker Studio용 AWS Management Console에서 아래 SageMaker JumpStart로 이동합니다. 사전 구축 및 자동화된 솔루션. Jumpstart에는 사전 훈련된 모델, 노트북 및 사전 구축된 솔루션이 포함되어 있습니다.

SageMaker JumpStart 랜딩 페이지에서 Gemma를 검색하여 Gemma 모델을 찾을 수 있습니다.

그런 다음 Gemma 2B, Gemma 7B, Gemma 2B 지시 및 Gemma 7B 지시를 포함한 다양한 Gemma 모델 변형 중에서 선택할 수 있습니다.

모델 카드를 선택하면 라이선스, 학습에 사용되는 데이터, 모델 사용 방법 등 모델에 대한 세부 정보를 볼 수 있습니다. 당신은 또한 찾을 수 있습니다 배포 버튼을 클릭하면 예제 페이로드로 추론을 테스트할 수 있는 랜딩 페이지로 이동됩니다.

SageMaker Python SDK를 사용하여 Gemma 배포

JumpStart에서 Gemma 배포를 보여주는 코드와 배포된 모델을 사용하는 방법에 대한 예를 찾을 수 있습니다. 이 GitHub 노트북.

Gemma를 배포할 때 사용할 SageMaker Model Hub 모델 ID와 모델 버전을 선택하여 시작하세요.

model_id, model_version = "huggingface-llm-gemma-7b-instruct", "*"

JumpStart 배포에 대한 기본 구성 옵션을 자세히 설명하는 다음 표에서 모델 ID를 선택합니다. 256개의 토큰이라는 큰 어휘 크기로 인해 Gemma 7B는 10개의 컨텍스트 길이를 지원할 때 단일 A1G GPU에만 적합할 수 있습니다. 이러한 이유로 JumpStart는 Gemma 7B에 대해 더 큰 기본 인스턴스를 사용합니다.

모델 ID 기본 추론 인스턴스 텐서 병렬도 지원되는 컨텍스트 길이
포옹얼굴-llm-gemma-2b ml.g5.xlarge 1 8k
포옹얼굴-llm-gemma-2b-지시 ml.g5.xlarge 1 8k
포옹얼굴-llm-gemma-7b ml.g5.12xlarge 4 8k
포옹얼굴-llm-gemma-7b-지시 ml.g5.12xlarge 4 8k

이제 SageMaker JumpStart를 사용하여 모델을 배포할 수 있습니다. 다음 코드는 기본 인스턴스를 사용합니다. ml.g5.12xlarge 추론 엔드포인트의 경우 다음을 전달하여 다른 인스턴스 유형에 모델을 배포할 수 있습니다. instance_type FBI 증오 범죄 보고서 JumpStartModel 수업. 배포에는 5~10분 정도 걸릴 수 있습니다.

from sagemaker.jumpstart.model import JumpStartModel

model = JumpStartModel(model_id=model_id, model_version=model_version)
predictor= model.deploy(accept_eula=False)  # manually accept EULA here!

성공적인 배포를 위해서는 수동으로 변경해야 합니다. accept_eula 모델 배포 메소드의 인수 True. 이 모델은 TGI(텍스트 생성 추론) 딥 러닝 컨테이너를 사용하여 배포됩니다.

엔드포인트 호출

프로그래밍 방식으로 예제 페이로드를 검색할 수 있습니다. JumpStartModel 물체. 이렇게 하면 Gemma가 수집할 수 있는 사전 형식화된 지침 프롬프트를 관찰하여 시작하는 데 도움이 됩니다.

example_payloads = model.retrieve_all_examples()

for payload in example_payloads:
    response = predictor.predict(payload.body)
    print("Input:n", payload.body[payload.prompt_key])
    print("Output:n", response[0]["generated_text"].strip())
    print("n===============n")

특정 프롬프트를 살펴보기 전에 Gemma Instruct 모델용 채팅 템플릿을 고려해 보겠습니다.

<bos><start_of_turn>usern[USER_PROMPT]<end_of_turn>n<start_of_turn>model

여기에서 프롬프트를 [USER_PROMPT] 위치. 시스템 명령은 지원되지 않습니다. 대신, 사용자 프롬프트 앞에 원하는 명령을 추가할 수 있습니다. 또한 다중 대화 대화가 있는 경우 필요에 따라 모델 프롬프트가 사용자와 보조자 간에 번갈아 표시될 수 있습니다.

이제 몇 가지 지침 예시 프롬프트를 고려해보세요. 여기서는 Gemma에게 Hello World 프로그램 작성을 요청합니다.

payload = {
    "inputs": "<bos><start_of_turn>usernWrite a hello world module in Python<end_of_turn>n<start_of_turn>model",
    "parameters": {'max_new_tokens': 256},
}
predictor.predict(payload)

예상되는 출력은 다음과 같습니다.

```python
# This is a Python module called hello.py

def hello():
  """Prints a hello message."""
  print("Hello, world!")

if __name__ == "__main__":
  hello()
```

**Usage:**

To use the hello.py module, you can import it and call the hello function like this:

```python
import hello

hello.hello()
```

**Output:**

```
Hello, world!
```

**Explanation:**

* The `hello.py` module defines a function called `hello()`.
* The `if __name__ == "__main__"` block checks if the script is being run directly or imported. If it is run directly, the `hello()` function is called.
* The `print("Hello, world!")` statement prints the hello message to the console.

**Note:**

* You can save the code above in a file named `hello.py` in your current directory.
* To run the script, you can use the following command:
```
python hello.py
```
* The output will be printed in the console:
```
Hello, world!
```

다음으로, 시를 쓰는 창의적인 작업을 위해 Gemma를 호출합니다.

payload = {
    "inputs": "<bos><start_of_turn>usernWrite me a poem about Machine Learning.<end_of_turn>n<start_of_turn>model",
    "parameters": {'max_new_tokens': 256},
}
predictor.predict(payload)

출력은 다음과 같습니다.

**Machine Learning**

In the realm of data, a tale unfolds,
Where algorithms dance and stories are told.
With every click, a model takes flight,
Unveiling patterns, hidden in the night.

Data whispers secrets, a treasure to find,
Machine learning listens, with a curious mind.
It sifts through terabytes, with lightning speed,
Uncovering insights, a hidden creed.

From images to text, it learns to see,
To understand the complexities of reality.
It paints a canvas, with insights deep,
Unveiling patterns, secrets to keep.

In the field of medicine, it takes a stand,
Diagnosing diseases, guiding a hand.
It analyzes data, with unmatched grace,
Bringing hope to those in a troubled place.

But with great power comes great responsibility,
As algorithms can bias, with malicious intent.
It's a journey of learning, a constant fight,
To ensure fairness, day and night.

So let us harness the power of this tool,
To create a future, where insights bloom.
With wisdom and caution, we must guide,
The path of machine learning, side by side.

꽤 괜찮아 보이는데요!

이제 기본 JumpStart 배포 구성을 사용하여 제공되는 모델에 대한 대기 시간 및 처리량 성능 벤치마킹을 살펴보겠습니다. 여기서는 일반적인 엔드포인트 워크로드에 따라 모델 성능이 어떻게 달라질 수 있는지 보여줍니다. 다음 표에서는 작은 크기의 쿼리(입력 단어 256개 및 출력 토큰 256개)가 다수의 동시 사용자에서 매우 성능이 뛰어나 초당 XNUMX~XNUMX개 토큰 정도의 토큰 처리량에 도달한다는 것을 확인할 수 있습니다. 그러나 입력 단어 수가 Gemma에서 지원하는 최대 컨텍스트 길이인 XNUMX개 토큰에 가까워지면 인스턴스 메모리 바인딩 제약으로 인해 엔드포인트의 일괄 처리 용량(동시에 처리할 수 있는 동시 요청 수)이 포화됩니다.

이 정보를 고려하고 특정 사용 사례에 맞게 배포 구성을 조정하는 방법에 대한 자세한 내용은 다음을 참조하세요. Amazon SageMaker JumpStart에서 엔드포인트 배포를 벤치마킹하고 최적화합니다..

. 처리량(토큰/초)
동시 사용자 1 2 4 8 16 32 64 128
모델 인스턴스 유형 입력 단어 출력 토큰 . . . . . . . .
gemma-2b-지시 ml.g5.xlarge 256 256 73 137 262 486 829 1330 1849 1834
2048 256 69 126 227 373 537 704 764 -
7936 256 60 100 147 195 226 230 - -
gemma-7b-지시 ml.g5.12xlarge 256 256 62 119 227 413 601 811 937 962
2048 256 56 100 172 245 267 273 - -
7936 256 44 67 77 77 78 - - -
. P50 대기 시간(ms/토큰)
동시 사용자 1 2 4 8 16 32 64 128
모델 인스턴스 유형 입력 단어 출력 토큰 . . . . . . . .
gemma-2b-지시 ml.g5.xlarge 256 256 13 14 15 16 19 23 33 49
2048 256 14 15 17 20 28 43 79 -
7936 256 16 19 26 39 68 136 - -
Gemma-7b-지시 ml.g5.12xlarge 256 256 16 16 17 19 26 38 57 110
2048 256 17 19 23 32 52 119 - -
7936 256 22 29 45 105 197 - - -

SageMaker Python SDK를 사용하여 Gemma 미세 조정

다음으로 다음을 사용하여 대화형 데이터 세트에서 Gemma 7B 지시 모델을 미세 조정하는 방법을 보여줍니다. QLoRA 기술. 이전에 언급한 대로 256개의 큰 어휘 크기와 8개의 컨텍스트 길이로 인해 JumpStart는 QLoRA 미세 조정을 위해 다음과 같은 기본 구성을 제공합니다.

모델 ID 기본 교육 인스턴스 최대 입력 시퀀스 길이 기기별 학습 배치 크기 그라데이션 누적 단계
포옹얼굴-llm-gemma-2b ml.g5.2xlarge 1024 1 4
포옹얼굴-llm-gemma-2b-지시 ml.g5.2xlarge 1024 1 4
포옹얼굴-llm-gemma-7b ml.g5.12xlarge 2048 1 4
포옹얼굴-llm-gemma-7b-지시 ml.g5.12xlarge 2048 1 4

대화형 형식으로 데이터세트를 로드하고 처리해 보겠습니다. 이 데모의 예제 데이터세트는 다음과 같습니다. OpenAssistant의 TOP-1 대화 스레드.

from datasets import load_dataset

# Load the dataset
dataset = load_dataset("OpenAssistant/oasst_top1_2023-08-25")

학습 데이터는 JSON 라인(.jsonl) 형식으로, 각 줄은 일련의 대화를 나타내는 사전입니다. JSON 라인 파일 내의 한 예가 아래에 나와 있습니다. 데이터세트를 처리하는 방법에 대한 자세한 내용은 다음 노트북을 참조하세요. GitHub의.

{'dialog': [
  {'content': 'what is the height of the empire state building',
   'role': 'user'},
  {'content': '381 meters, or 1,250 feet, is the height of the Empire State Building. If you also account for the antenna, it brings up the total height to 443 meters, or 1,454 feet',
   'role': 'assistant'},
  {'content': 'Some people need to pilot an aircraft above it and need to know.nSo what is the answer in feet?',
   'role': 'user'},
  {'content': '1454 feet', 'role': 'assistant'}]
}
import os
import boto3
from sagemaker.session import Session
from sagemaker.jumpstart.estimator import JumpStartEstimator

model_id = "huggingface-llm-gemma-7b-instruct"

estimator = JumpStartEstimator(
    model_id=model_id, environment={"accept_eula": "false"} # manually accept EULA here!
)

# For the other hyperparameters, see the GitHub notebook attached in this blog.
estimator.set_hyperparameters(chat_dataset="True", peft_type="lora", max_input_length="2048", epoch="3")
estimator.fit({"training": <your_S3_bucket_hosting_the_train_data>})

훈련 스크립트의 기본으로 JumpStart는 HuggingFace를 사용합니다. SFT트레이너 과 QLoRA플래시주의. Flash Attention을 사용하면 확장 효율성이 향상되어 더 빠른 교육 및 추론이 가능해집니다. 채팅 기반 미세 조정 외에도 JumpStart는 QLoRA를 통한 지침 및 도메인 적응 미세 조정도 지원합니다. 자세한 내용은 노트북을 참조하세요. GitHub의.

미세 조정 후에는 미세 조정된 모델을 SageMaker 엔드포인트에 배포할 수 있습니다.

fine_tuned_predictor= estimator.deploy()

SageMaker 엔드포인트의 대화 데이터에 대해 세부 조정된 모델을 배포하도록 선택할 수 있습니다. HuggingFace 메시지 API 기능 대안적인 접근 방식으로. Message API 기능을 사용하면 사용자가 다음 표에 표시된 것처럼 원시 형식으로 쿼리 예제를 전달할 수 있고 엔드포인트 내의 chat_template이 쿼리 예제를 모델로 보내기 전에 적절한 형식으로 변환할 수 있다는 이점이 있습니다. 자세한 내용은 미세 조정 후 배포 섹션을 참조하세요. 수첩.

엔드포인트에 미세 조정된 모델을 배포한 후 사전 훈련된 모델과 미세 조정된 Gemma 모델의 출력 응답을 비교할 수 있습니다. 예제는 학습 데이터의 홀드아웃 세트인 테스트 데이터에서 수집됩니다. 추론 매개변수는 다음과 같습니다. max_tokens 512로, top_p 0.9로, temperature 0.4으로, 그리고 top_k 50 년.

미세 조정 결과를 보면 알 수 있듯이 상담원의 답변이 더 정확해졌습니다.

미세 조정된 모델을 추가로 평가하려면 다음을 탐색해 보세요. Amazon SageMaker Clarify를 사용한 FM 평가 기본 모델과 비교하여 미세 조정된 모델의 성능을 확인하세요.

입력 지상 진실 응답 기지 모델 미세 조정된 모델의 응답
1

사용자: 어휘력을 연습하고 싶은데, 문장의 다양성을 높이기 위해 사용할 새로운 단어를 찾을 수 있는 간단한 방법을 알려주실 수 있나요?

어시스턴트: 물론이죠! 어휘력을 향상시키는 것은 지속적인 과정이지만, 다음은 새로운 단어를 찾고 문장의 다양성을 높이는 몇 가지 간단한 방법입니다.

1. 폭넓게 읽으세요: 다양한 장르와 주제의 책, 기사, 블로그를 읽으면 새로운 단어와 문구에 노출됩니다. 익숙하지 않은 단어를 기록하고 그 의미를 찾아보세요.

2. 동의어 사전을 사용하세요: 글을 쓰거나 읽을 때마다 동의어 사전을 사용하여 일반적으로 사용되는 단어의 동의어를 찾으세요. 이는 새로운 단어를 배우는 데 도움이 될 뿐만 아니라 의미의 미묘한 차이에 대한 이해도 향상시킵니다.

3. 하루 단어 달력 또는 앱: 하루 단어 이메일을 구독하거나 어휘력 향상 앱을 다운로드하세요. 이 도구는 의미, 발음, 사용 예와 함께 매일 새로운 단어를 소개합니다.

4. 독서 클럽이나 토론 그룹에 가입하세요. 책, 기사 또는 기타 주제에 대한 대화와 토론에 참여하면 다양한 관점과 새로운 어휘를 접할 수 있습니다. 다른 사람의 말을 주의 깊게 듣고 상황에 맞게 새로운 단어를 사용해 보십시오.

5. 단어 게임 플레이: Scrabble, Boggle, 크로스워드 퍼즐과 같은 게임은 어휘 능력을 시험하고 즐거운 방식으로 새로운 단어를 배우는 데 도움이 됩니다.

6. 영화, TV 쇼, 다큐멘터리 시청: 시각 미디어는 종종 다양한 언어, 속어, 전문 용어를 사용합니다. 영화, TV 프로그램, 다큐멘터리를 자막과 함께 시청하면 새로운 단어를 더 잘 이해하고 기억하는 데 도움이 됩니다.

7. 글쓰기 연습: 정기적으로 이야기, 에세이, 일지를 쓰면 새로운 단어와 문구를 사용하는 데 도움이 됩니다. 다양한 글쓰기 스타일과 장르를 실험하여 어휘력을 확장해보세요.

8. 새로운 단어의 어원 배우기: 단어의 유래와 역사를 이해하면 더 쉽게 기억하고 올바르게 사용할 수 있습니다. 어원을 연구하면 관련 단어와 개념도 접할 수 있습니다.

9. 플래시카드나 간격 반복 소프트웨어를 사용하세요. 새로운 단어, 그 의미, 예문이 포함된 플래시카드를 만드세요. 정기적으로 검토하거나 Anki와 같은 간격 반복 소프트웨어를 사용하여 학습을 최적화하세요.

10. 개인 목표 설정: 일주일에 XNUMX개의 새로운 단어를 배우는 것과 같이 달성 가능한 목표를 설정하십시오. 진행 상황을 추적하고 목표 달성에 대해 스스로에게 보상하세요.

이러한 전략을 일상 생활에 지속적으로 통합함으로써 점차적으로 다양하고 탄탄한 어휘력을 구축하게 될 것입니다.

사용자: 음, 저는 독서 아이디어를 정말 좋아해요. 제가 읽을 수 있는 멋진 SF 스릴러 책을 추천해 주실 수 있나요?

어시스턴트: 물론이죠! 다음은 여러분이 즐길 수 있는 SF 스릴러에 대한 몇 가지 권장 사항입니다.

1. Liu Cixin의 "삼체 문제" – 수상 경력이 있는 이 소설은 인류와 외계 문명 사이의 최초의 접촉과 그에 따른 정치적, 개인적 파급효과를 탐구합니다. 존재의 본질과 우주에 대한 깊은 질문을 탐구하는 흥미진진하고 생각을 자극하는 책입니다.

2. Jeff Vandermeer의 "Annihilation" – 이 소설은 한 무리의 과학자들이 "Area X"라고 알려진 신비로운 지역으로 모험을 떠나면서 이상하고 불안한 현상을 만나는 이야기를 담고 있습니다. 그들은 그 지역을 더 깊이 파고들면서 현실과 주변 세계의 본질에 대한 어두운 비밀을 밝혀내기 시작합니다.

3. Blake Crouch의 “Dark Matter” – 이 소설은 납치되어 평행 우주로 이송된 뛰어난 물리학자 Jason Dessen의 이야기를 담고 있습니다. 그는 자신의 현실로 돌아가는 길을 찾으려고 노력하면서 자신의 선택과 자신의 행동의 결과에 직면해야 합니다.

4. “안드로메다 계통”(Michael Crichton) – 이 고전 소설은 과학자 팀이 지구에 착륙한 치명적인 외계 미생물을 격리하고 연구하는 과정을 따릅니다. 그들은 미생물을 무력화할 방법을 찾기 위해 시간을 다투는 동시에 정치적 음모와 개인적 갈등에도 맞서 싸워야 합니다.

5. 어니스트 클라인(Ernest Cline)의 “Ready Player One” – 이 소설은 대다수의 인구가 OASIS로 알려진 가상 현실 세계에서 시간을 보내는 디스토피아적인 미래를 배경으로 합니다. OASIS의 제작자가 사망하고 숨겨진 이스터 에그를 찾기 위한 도전을 떠나자, 젊은 주인공은 자신의 인생을 영원히 바꿀 스릴 넘치는 탐구를 시작합니다.

이러한 추천 중 하나가 귀하의 관심을 불러일으키기를 바랍니다.

보조자: 텍스트에는 귀하의 독서 선호도나 관심 분야에 대한 정보가 포함되어 있지 않으므로 책 추천을 제공할 수 없습니다.

어시스턴트: 물론입니다. 다음은 귀하가 즐길 수 있는 공상과학 스릴러 추천 몇 가지입니다.

– Frank Herbert의 "Dune": 이 서사시 SF 소설은 사막 행성 Arrakis를 배경으로 합니다. 그곳에서 Paul Atreides라는 어린 왕자는 적대적인 환경과 위험한 정치적 환경의 도전에 직면해야 합니다.

– 앤디 위어(Andy Weir)의 "The Martian": 이 흥미진진한 SF 스릴러는 먼지 폭풍 이후 화성에 발이 묶인 우주비행사 마크 와트니(Mark Watney)가 자신의 독창성과 지략을 활용해 생존하고 결국 지구로 돌아가는 이야기를 따릅니다.

– HG Wells의 "The Time Machine": 이 고전 공상 과학 소설은 시간 여행 개념에 대한 철학적 접근 방식을 취하여 과거와 미래를 바꾸는 결과를 탐구합니다.

– 필립 K. 딕의 “블레이드 러너”: 미래 지향적인 로스앤젤레스를 배경으로 한 이 네오 누아르 SF 소설은 인간과 인공 지능의 교차점, 그리고 그것이 사회에 미치는 영향과 현실의 본질을 탐구합니다.

– 아이작 아시모프의 "안드로이드": 이 공상과학 소설은 인공 지능의 개념과 그 잠재적인 결과를 탐구합니다. 특히 인간이 전통적인 인간 가치와 신념에 도전하는 고급 안드로이드를 개발할 때 더욱 그렇습니다.

이것은 단지 몇 가지 제안일 뿐이며 궁극적으로 귀하에게 가장 적합한 책은 귀하의 개인적 선호도와 공상과학 스릴러에서 어떤 경험을 원하는지에 따라 달라집니다. 하지만 이러한 권장 사항이 장르를 탐구하는 데 좋은 출발점이 되기를 바랍니다.

추가 문의사항이 있거나 도움이 필요하시면 알려주시기 바랍니다.
사용자
나에게 이 책들을 추천해주셔서 감사합니다! 곧 그 중 하나에 뛰어들게 되어 기쁩니다!
모델
천만에요! 도움이 될 수 있어서 기뻐요.

2

사용자: VB.NET에서 Hello World 프로그램 작성

어시스턴트: 여기요:

“`vbnet
공개 모듈 HelloWorld
공개 서브메인()
System.Console.WriteLine("안녕하세요, 세계!")
최종 하위
끝 모듈
"

사용자: $에서 입력을 받아 "Hello, World!" 대신 "Hello, $"라고 말하도록 합니다.

보조자: 공개 모듈 HelloWorld
공개 서브메인()
System.Console.WriteLine("당신의 이름은 무엇입니까?")
희미한 이름 As String = System.Console.ReadLine()
System.Console.WriteLine(“안녕하세요,” & 이름 & “!”)
최종 하위
끝 모듈
어시스턴트: “`vbnet
공개 모듈 HelloWorld
공개 서브메인()
Dim 이름 As String = Console.ReadLine()
Console.WriteLine(“안녕하세요,” & 이름)
최종 하위
끝 모듈

어시스턴트: 물론이죠! 예는 다음과 같습니다.

“`vbnet
공개 모듈 HelloWorld
공개 서브메인()
Dim userName As String = System.Console.ReadLine()
System.Console.WriteLine(“안녕하세요,” & userName & “!”)
최종 하위
끝 모듈
"

3

사용자: 인간의 질문을 이해하고 응답할 수 있는 대규모 언어 모델을 훈련하기 위해 프로젝트를 시작할 때 수행할 항목 목록을 제공합니다.

보조자: 다음 단계는 인간의 질문을 이해하고 응답할 수 있는 대규모 언어 모델을 훈련하기 위한 프로젝트를 시작할 때 취해야 할 단계의 요약 목록입니다.

1. 프로젝트 범위와 목표, 대상 고객을 설정합니다.
2. 포괄적이고 다양한 텍스트 데이터 세트를 수집하고 전처리합니다.
3. 적절한 모델 아키텍처를 선택하고 정확도/속도를 위해 하이퍼파라미터를 조정합니다.
4. 데이터 세트를 교육, 검증, 테스트 하위 집합으로 나누고 데이터 확대를 구현합니다.
5. 모델을 훈련하고, 검증 세트의 진행 상황을 모니터링하고, 필요에 따라 조정합니다.
6. 테스트 세트에서 모델을 평가하고, 벤치마크와 비교하고, 오류와 편향을 분석합니다.
7. 전이 학습이나 미세 조정을 통해 특정 작업이나 영역을 미세 조정합니다.
8. 사용자 입력 및 모델 응답을 위한 인터페이스를 만듭니다.
9. 통제된 환경에서 테스트하고 개선을 위한 피드백을 수집합니다.
10. 재교육과 미세 조정을 통해 성과를 지속적으로 모니터링하고 개선합니다.

이를 통해 필요한 단계가 무엇인지에 대한 기본 아이디어를 얻을 수 있습니다. 요점 중 하나에 대해 더 자세히 설명해야 합니까?

사용자: 이 작업은 더 세분화되어야 합니다. 앞으로의 작업에 대한 더 자세한 분석이 포함된 업데이트된 할 일 목록을 제공해 주시겠습니까?

어시스턴트: 각 단계에 대한 자세한 내용은 다음과 같습니다.

1. 프로젝트 범위 및 목표 설정: 프로젝트의 목표와 대상 고객이 무엇인지 명확하게 정의하는 것이 중요합니다. 이는 수집할 데이터 유형과 적절한 모델 아키텍처를 결정하는 데 도움이 됩니다.

2. 데이터 수집 및 전처리: 데이터의 품질과 다양성이 모델 성능에 직접적인 영향을 미치기 때문에 이는 중요한 단계입니다. 전처리에는 데이터 정리, 텍스트 토큰화, 단어를 숫자 표현으로 변환 등이 포함될 수 있습니다.

3. 모델 아키텍처 선택: 순환 신경망(RNN), 변환기 모델, 컨볼루션 신경망(CNN)을 포함하여 선택할 수 있는 다양한 유형의 모델이 있습니다. 선택은 프로젝트의 특정 요구 사항과 사용 가능한 데이터 양에 따라 달라집니다.

4. 데이터 세트 분할 및 데이터 확대 구현: 데이터를 훈련, 검증 및 테스트 하위 집합으로 분할하는 것은 훈련 중에 모델 성능을 모니터링하는 데 중요합니다. 데이터 증대를 사용하면 데이터 세트의 크기를 인위적으로 늘리고 모델의 견고성을 향상시킬 수 있습니다.

5. 모델 훈련 및 진행 상황 모니터링: 이 단계에는 진행 상황을 모니터링하고 필요에 따라 하이퍼파라미터를 조정하기 위해 검증 세트를 사용하여 훈련 데이터에 대한 모델을 훈련하는 작업이 포함됩니다. 모델이 검증 세트에서 제대로 작동할 때까지 이 프로세스를 여러 번 반복해야 할 수도 있습니다.

6. 테스트 세트에서 모델 평가: 모델이 훈련되면 일반화 능력에 대한 아이디어를 얻기 위해 별도의 테스트 세트에서 성능을 평가하는 것이 중요합니다. 이는 모델의 예측을 실제 결과와 비교하고 오류를 분석하여 수행할 수 있습니다.

7. 특정 작업 또는 도메인에 대한 미세 조정: 이 단계에는 특정 도메인에 대한 성능을 향상시키기 위해 작업별 데이터에 대한 모델을 추가로 교육하는 작업이 포함됩니다. 이는 사전 학습된 모델이 새 데이터에 대해 미세 조정되는 전이 학습을 통해 수행되거나 모델이 새 데이터에 대해 처음부터 학습되는 미세 조정을 통해 수행될 수 있습니다.

8. 사용자 입력을 위한 인터페이스 생성: 여기에는 사용자가 질문이나 요청을 입력하고 모델로부터 응답을 받을 수 있는 인터페이스를 설계하는 작업이 포함됩니다.

9. 통제된 환경에서 테스트: 모델을 실제 환경에 배포하기 전에 통제된 환경에서 테스트하고 사용자로부터 피드백을 수집하는 것이 중요합니다. 이는 모델의 오류나 편향을 식별하고 개선 기회를 제공하는 데 도움이 됩니다.

10. 지속적인 성능 모니터링 및 개선: 마지막으로, 모델 성능을 지속적으로 모니터링하고 필요에 따라 업데이트 및 개선하는 것이 중요합니다. 여기에는 새로운 데이터에 대한 모델 재교육, 하이퍼파라미터 미세 조정 또는 아키텍처 업데이트가 포함될 수 있습니다.

보조자: ## 질문 답변을 위한 대규모 언어 모델 훈련을 위한 할 일 목록

**1. 프로젝트 범위 및 목표:**

* 프로젝트 목표와 원하는 기능을 정의합니다.
* 대상 고객과 그들의 특정 요구 사항을 식별합니다.
* 원하는 수준의 정확도와 응답 품질을 결정합니다.

**2. 데이터 수집 및 전처리:**

* 훈련 데이터의 소스를 식별하고 다양한 텍스트 데이터세트를 수집합니다.
* 일관성과 품질을 보장하기 위해 텍스트 데이터를 정리하고 전처리합니다.
* 훈련 데이터 양을 늘리기 위해 데이터 증대 기술을 구현합니다.

**삼. 모델 선택 및 구성:**

* 작업 복잡성과 원하는 성능을 기반으로 적절한 모델 아키텍처를 선택합니다.
* 모델 성능 최적화를 위해 하이퍼파라미터를 미세 조정합니다.
* 모델 구현에 가장 적합한 프레임워크와 도구를 선택하세요.

**4. 교육 및 평가:**

* 훈련 데이터를 훈련, 검증, 테스트 하위 집합으로 나눕니다.
* 선택한 프레임워크와 하이퍼파라미터를 사용하여 모델을 훈련합니다.
* 검증 세트의 훈련 진행 상황을 모니터링하고 필요에 따라 모델 매개변수를 조정합니다.
* 벤치마크 및 원하는 목표를 기준으로 테스트 세트의 모델 성능을 평가합니다.

**5. 미세 조정 및 인터페이스 개발:**

* 전이 학습을 통해 특정 작업이나 도메인에 맞게 모델을 미세 조정합니다.
* 사용성과 접근성을 고려하여 사용자 입력 및 모델 응답을 위한 인터페이스를 개발합니다.
* 모델을 인터페이스와 통합하고 원활한 상호 작용을 보장합니다.

**6. 테스트 및 개선:**

* 다양한 입력 시나리오를 사용하여 통제된 환경에서 모델을 테스트합니다.
* 사용자 및 전문가로부터 피드백을 수집하여 개선 영역을 식별합니다.
* 재학습 및 미세 조정을 통해 모델 성능을 지속적으로 모니터링하고 개선합니다.

**추가 고려사항:**

* 프로젝트의 일정과 예산을 설정합니다.
* 잠재적인 문제를 식별하고 비상 계획을 개발합니다.
* 향후 참조 및 협업을 위해 프로세스와 결과를 문서화합니다.

**참고:** 이 목록은 완전한 것이 아니며 특정 프로젝트 요구 사항에 따라 조정해야 할 수도 있습니다.

보조자: 물론입니다. 인간의 질문을 이해하고 응답하기 위해 대규모 언어 모델을 훈련하는 데 관련된 작업에 대한 자세한 분석은 다음과 같습니다.

**1. 프로젝트 범위 및 목표 설정**
– 대상 고객과 원하는 모델 기능을 포함하여 프로젝트의 목표와 목표를 정의합니다.
– 모델이 수행해야 하는 특정 작업을 식별합니다.

**2. 포괄적이고 다양한 텍스트 데이터 세트 수집 및 전처리**
– 대상 고객 및 작업과 관련된 텍스트 데이터 소스를 식별합니다.
– 일관성과 품질을 보장하기 위해 텍스트 데이터를 정리하고 전처리합니다.
– 인간의 언어와 사고의 다양성을 반영하는 균형 잡힌 데이터 세트를 만듭니다.

**삼. 적절한 모델 아키텍처 선택, 정확성/속도를 위한 하이퍼파라미터 조정**
– 작업과 데이터에 적합한 모델 아키텍처를 선택하세요.
– 모델의 하이퍼파라미터를 미세 조정하여 성능과 속도를 최적화합니다.
– 검증 데이터에 대한 모델 성능을 모니터링하여 모델이 일반화 가능한지 확인합니다.

**4. 데이터세트를 훈련, 검증, 테스트 하위 집합으로 나누고 데이터 확대 구현**
– 데이터세트를 훈련, 검증, 테스트 하위 집합으로 나눕니다.
– 훈련 데이터의 다양성과 크기를 늘리기 위해 데이터 확대 기술을 구현합니다.

**5. 모델 훈련, 검증 세트의 진행 상황 모니터링, 필요에 따라 조정**
– 학습 데이터를 사용하여 모델을 학습합니다.
– 모델의 검증 데이터 진행 상황을 모니터링하여 개선 영역을 식별합니다.
– 필요에 따라 모델의 하이퍼파라미터 또는 아키텍처를 조정하여 성능을 최적화합니다.

**6. 테스트 세트에서 모델 평가, 벤치마크 비교, 오류 및 편향 분석**
– 테스트 데이터에 대한 모델 성능을 평가합니다.
– 모델의 성능을 벤치마크 및 업계 표준과 비교합니다.
– 오류와 편견을 분석하여 개선이 필요한 영역을 식별합니다.

**7. 전이 학습 또는 미세 조정을 통해 특정 작업 또는 도메인에 대한 미세 조정**
– 사전 훈련된 모델의 지식을 전달하여 특정 작업 또는 도메인에 맞게 모델을 미세 조정합니다.
– 전이 학습을 사용하여 기존 지식을 활용하고 모델 성능을 향상시킵니다.

**8. 사용자 입력 및 모델 응답을 위한 인터페이스 생성**
– 사용자가 질문을 입력하고 모델로부터 응답을 받을 수 있는 인터페이스를 만듭니다.
– 사용자 친화적이고 직관적인 인터페이스를 디자인합니다.

**9. 통제된 환경에서 테스트하고 개선을 위한 피드백 수집**
– 통제된 환경에서 모델을 테스트하여 예상대로 작동하는지 확인합니다.
– 사용자로부터 피드백을 수집하여 개선이 필요한 영역을 식별합니다.

**10. 재교육 및 미세 조정을 통해 성과를 지속적으로 모니터링하고 개선합니다**
– 모델 성능을 지속적으로 모니터링합니다.
– 성능을 향상시키기 위해 필요에 따라 모델을 재교육하고 미세 조정합니다.

이는 인간의 질문을 이해하고 응답하기 위해 대규모 언어 모델을 훈련하는 단계입니다. 질문이 있으면 알려주시기 바랍니다.

정리

엔드포인트를 테스트한 후 SageMaker 추론 엔드포인트와 모델을 삭제하여 요금이 발생하지 않도록 하세요.

결론

이 게시물에서는 SageMaker Studio에서 Gemma를 시작하고 추론을 위해 모델을 배포하는 방법을 보여주었습니다. 또한 SageMaker Jumpstart에서 Gemma 모델을 미세 조정하는 방법도 보여 드렸습니다.

기초 모델은 사전 훈련되어 있으므로 훈련 및 인프라 비용을 낮추고 사용 사례에 맞게 사용자 정의할 수 있습니다. 지금 SageMaker Studio에서 SageMaker JumpStart를 방문하여 시작하세요.

이 지침은 정보 제공의 목적으로만 제공됩니다. 귀하는 여전히 독립적인 평가를 수행해야 하며 귀하의 특정 품질 관리 관행 및 표준, 귀하와 귀하의 콘텐츠 및 이 지침에서 참조하는 타사 모델. AWS는 이 지침에 언급된 제XNUMX자 모델에 대한 통제권이나 권한이 없으며 제XNUMX자 모델이 안전하고 바이러스가 없으며 운영 가능하거나 프로덕션 환경 및 표준과 호환된다는 진술이나 보증을 하지 않습니다. AWS는 이 지침의 정보가 특정 결과를 초래할 것이라고 진술, 보증 또는 보장하지 않습니다.


저자 소개

카일 울리히 박사 는 응용 과학자입니다. Amazon SageMaker 내장 알고리즘 팀. 그의 연구 관심사는 확장 가능한 기계 학습 알고리즘, 컴퓨터 비전, 시계열, 베이지안 비모수 및 가우시안 프로세스를 포함합니다. Duke University에서 박사 학위를 받았으며 NeurIPS, Cell 및 Neuron에 논문을 발표했습니다.

황신 박사 Amazon SageMaker JumpStart 및 Amazon SageMaker 내장 알고리즘의 수석 응용 과학자입니다. 그는 확장 가능한 기계 학습 알고리즘 개발에 중점을 둡니다. 그의 연구 관심 분야는 자연어 처리, 테이블 형식 데이터에 대한 설명 가능한 딥 러닝, 비모수 시공간 클러스터링의 강력한 분석입니다. 그는 ACL, ICDM, KDD 컨퍼런스 및 왕립 통계 학회: 시리즈 A에서 많은 논문을 발표했습니다.

라크나 차다 AWS 전략 계정의 AI/ML 수석 솔루션 설계자입니다. Rachna는 AI의 윤리적이고 책임감 있는 사용이 미래 사회를 개선하고 경제적, 사회적 번영을 가져올 수 있다고 믿는 낙천주의자입니다. 여가 시간에는 Rachna는 가족과 함께 시간을 보내고, 하이킹을 즐기고, 음악을 듣는 것을 좋아합니다.

에반 크라비츠 SageMaker JumpStart에서 일하는 Amazon Web Services의 소프트웨어 엔지니어입니다. 그는 요리를 즐기고 뉴욕시에서 달리기를 즐깁니다.

Ashish Khetan 박사 Amazon SageMaker 내장 알고리즘을 사용하는 수석 응용 과학자이며 기계 학습 알고리즘 개발을 돕습니다. 그는 University of Illinois Urbana-Champaign에서 박사 학위를 받았습니다. 그는 기계 학습 및 통계적 추론 분야에서 활동적인 연구원이며 NeurIPS, ICML, ICLR, JMLR, ACL 및 EMNLP 컨퍼런스에서 많은 논문을 발표했습니다.

spot_img

최신 인텔리전스

spot_img