제퍼넷 로고

GPT-3와 Gemini를 파괴한 Claude 4 Opus 시작하기 – KDnuggets

시간

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기
작성자 별 이미지 

Anthropic은 최근 벤치마크 테스트에서 GPT-4와 Gemini를 모두 능가하는 새로운 AI 모델 시리즈를 출시했습니다. AI 산업이 빠르게 성장하고 발전함에 따라 Claude 3 모델은 LLM(대형 언어 모델)의 차세대 제품으로 큰 발전을 이루고 있습니다.

이번 블로그 게시물에서는 Claude의 3가지 모델에 대한 성능 벤치마크를 살펴보겠습니다. 또한 향상된 비전 기능과 함께 단순하고 비동기적이며 스트림 응답 생성을 지원하는 새로운 Python API에 대해서도 알아봅니다.

클로드 3(Claude 8)은 AI 기술 분야에서 획기적인 도약을 이룬다. MMLU, GPQA 및 GSMXNUMXK를 포함한 다양한 평가 벤치마크에서 최첨단 언어 모델보다 성능이 뛰어나며 복잡한 작업에 대해 거의 인간 수준의 이해력과 유창함을 보여줍니다.

Claude 3 모델은 세 가지 변형으로 제공됩니다. 하이쿠, 소네트, 오푸스, 각각 고유한 기능과 강점을 가지고 있습니다.

  1. 하이쿠 3초 이내에 정보가 많은 연구 논문을 읽고 처리할 수 있는 가장 빠르고 가장 비용 효율적인 모델입니다.
  2. 소네트 Claude 2 및 2보다 2.1배 빠르며 지식 검색이나 판매 자동화와 같은 빠른 응답이 필요한 작업에 탁월합니다.
  3. Claude 2 및 2.1과 비슷한 속도를 제공하지만 훨씬 더 높은 수준의 지능을 제공합니다.

아래 표에 따르면 Claude 3 Opus는 모든 LLM 벤치마크에서 GPT-4 및 Gemini Ultra를 능가하여 AI 세계의 새로운 리더가 되었습니다.

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기
테이블에서 클라우디아 3 

Claude 3 모델의 중요한 개선 사항 중 하나는 강력한 시력 기능입니다. 사진, 차트, 그래프, 기술 다이어그램을 포함한 다양한 시각적 형식을 처리할 수 있습니다.

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기
테이블에서 클라우디아 3 

다음으로 이동하여 최신 모델을 사용할 수 있습니다. https://www.anthropic.com/claude 그리고 새 계정을 만드세요. OpenAI 플레이그라운드에 비하면 상당히 간단합니다.

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기 

  1. Python 패키지를 설치하기 전에 다음으로 이동해야 합니다. https://console.anthropic.com/dashboard 그리고 API 키를 받으세요. 
    GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기 
  2. 클라이언트 객체 생성을 위해 API 키를 직접 제공하는 대신 'ANTHROPIC_API_KEY' 환경 변수를 설정하여 키로 제공할 수 있습니다.
  3. PIP를 사용하여 `anthropic` Python 패키지를 설치합니다.
pip install anthropic
  1. API 키를 사용하여 클라이언트 개체를 만듭니다. 텍스트 생성, 비전 기능 액세스 및 스트리밍을 위해 클라이언트를 사용합니다.
import os
import anthropic
from IPython.display import Markdown, display

client = anthropic.Anthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
)

이전 Python API를 사용해 여전히 작동하는지 테스트해 보겠습니다. 모델 이름, 최대 토큰 길이 및 프롬프트가 포함된 완성 API를 제공합니다.

from anthropic import HUMAN_PROMPT, AI_PROMPT

completion = client.completions.create(
    model="claude-3-opus-20240229",
    max_tokens_to_sample=300,
    prompt=f"{HUMAN_PROMPT} How do I cook a original pasta?{AI_PROMPT}",
)
Markdown(completion.completion)

이 오류는 'claude-3-opus-20240229' 모델에 이전 API를 사용할 수 없음을 나타냅니다. 대신 메시지 API를 사용해야 합니다.

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기 

메시지 API를 사용하여 응답을 생성해 보겠습니다. 프롬프트 대신 메시지 인수에 역할과 내용이 포함된 사전 목록을 제공해야 합니다.

Prompt = "Write the Julia code for the simple data analysis."
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": Prompt}
    ]
)
Markdown(message.content[0].text)

IPython Markdown을 사용하면 응답이 Markdown 형식으로 표시됩니다. 즉, 글머리 기호, 코드 블록, 제목 및 링크가 깔끔하게 표시됩니다.

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기 

또한 귀하의 응답을 맞춤화하기 위한 시스템 프롬프트를 제공할 수도 있습니다. 우리의 경우 Claude 3 Opus에게 우르두어로 응답하도록 요청하고 있습니다.

client = anthropic.Anthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
)

Prompt = "Write a blog about neural networks."

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    system="Respond only in Urdu.",
    messages=[
        {"role": "user", "content": Prompt}
    ]
)

Markdown(message.content[0].text)

Opus 모델은 꽤 좋습니다. 나는 그것을 아주 명확하게 이해할 수 있다는 것을 의미합니다.

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기 

동기식 API는 API 요청을 순차적으로 실행하여 다음 호출을 호출하기 전에 응답이 수신될 때까지 차단합니다. 반면, 비동기식 API는 차단 없이 여러 개의 동시 요청을 허용하므로 더욱 효율적이고 확장 가능합니다.

  1. Async Anthropic 클라이언트를 생성해야 합니다.
  2. async를 사용하여 기본 함수를 만듭니다.
  3. Wait 구문을 사용하여 응답을 생성합니다.
  4. Wait 구문을 사용하여 기본 함수를 실행합니다.
import asyncio
from anthropic import AsyncAnthropic

client = AsyncAnthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
)


async def main() -> None:

    Prompt = "What is LLMOps and how do I start learning it?"
       
    message = await client.messages.create(
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": Prompt,
            }
        ],
        model="claude-3-opus-20240229",
    )
    display(Markdown(message.content[0].text))


await main()

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기 

참고 : Jupyter Notebook에서 비동기를 사용하는 경우 asyncio.run(main()) 대신 wait main()을 사용해 보세요.

스트리밍은 완전한 응답을 기다리지 않고 언어 모델의 출력이 사용 가능해지면 즉시 처리할 수 있도록 하는 접근 방식입니다. 이 방법은 출력 토큰을 한 번에 모두 반환하는 대신 토큰별로 반환하여 인식되는 대기 시간을 최소화합니다.

'messages.create' 대신 응답 스트리밍을 위해 'messages.stream'을 사용하고 루프를 사용하여 응답에서 여러 단어가 사용 가능해지면 즉시 표시합니다.

from anthropic import Anthropic

client = anthropic.Anthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
)


Prompt = "Write a mermaid code for typical MLOps workflow."


completion = client.messages.stream(
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": Prompt,
        }
    ],
    model="claude-3-opus-20240229",
)

with completion as stream:
    for text in stream.text_stream:
            print(text, end="", flush=True)

보시다시피, 우리는 매우 빠르게 응답을 생성하고 있습니다.

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기 

스트리밍에도 비동기 기능을 사용할 수 있습니다. 창의력을 발휘하고 결합하면 됩니다.

import asyncio
from anthropic import AsyncAnthropic

client = AsyncAnthropic()

async def main() -> None:
   
    completion = client.messages.stream(
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": Prompt,
            }
        ],
        model="claude-3-opus-20240229",
    )
    async with completion as stream:
        async for text in stream.text_stream:
            print(text, end="", flush=True)

await main()

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기 

Claude 3 Vision은 시간이 지남에 따라 개선되었으며 응답을 얻으려면 메시지 API에 base64 유형의 이미지를 제공하기만 하면 됩니다.

이 예에서는 튤립 (이미지 1) 및 홍학 (이미지 2) Pexel.com의 사진은 이미지에 대한 질문을 통해 응답을 생성합니다.

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기 

'httpx' 라이브러리를 사용하여 pexel.com에서 두 이미지를 모두 가져와서 base64 인코딩으로 변환하겠습니다.

import anthropic
import base64
import httpx

client = anthropic.Anthropic()

media_type = "image/jpeg"

img_url_1 = "https://images.pexels.com/photos/20230232/pexels-photo-20230232/free-photo-of-tulips-in-a-vase-against-a-green-background.jpeg"

image_data_1 = base64.b64encode(httpx.get(img_url_1).content).decode("utf-8")

img_url_2 = "https://images.pexels.com/photos/20255306/pexels-photo-20255306/free-photo-of-flamingos-in-the-water.jpeg"

image_data_2 = base64.b64encode(httpx.get(img_url_2).content).decode("utf-8")

우리는 이미지 콘텐츠 블록의 메시지 API에 base64로 인코딩된 이미지를 제공합니다. 응답을 성공적으로 생성하려면 아래에 표시된 코딩 패턴을 따르십시오.

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": image_data_1,
                    },
                },
                {
                    "type": "text",
                    "text": "Write a poem using this image."
                }
            ],
        }
    ],
)
Markdown(message.content[0].text)

우리는 튤립에 관한 아름다운 시를 얻었습니다.

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기 

동일한 Claude 3 메시지 API에 여러 이미지를 로드해 보겠습니다.

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Image 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": image_data_1,
                    },
                },
                {
                    "type": "text",
                    "text": "Image 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": image_data_2,
                    },
                },
                {
                    "type": "text",
                    "text": "Write a short story using these images."
                }
            ],
        }
    ],
)
Markdown(message.content[0].text)

튤립과 플라밍고 정원에 관한 짧은 이야기가 있습니다.

GPT-3와 Gemini를 막 파괴한 Claude 4 Opus 시작하기 

코드를 실행하는 데 문제가 있는 경우 다음을 참조하세요. 딥노트 작업공간 코드를 직접 검토하고 실행할 수 있습니다.

Claude 3 Opus는 GPT-4나 Gemini만큼 빠르지는 않지만 유망한 모델이라고 생각합니다. 유료 사용자는 속도가 더 좋을 것이라고 생각합니다.

이 튜토리얼에서는 Claude 3라는 Anthropic의 새로운 모델 시리즈에 대해 알아보고 벤치마크를 검토하고 비전 기능을 테스트했습니다. 또한 단순, 비동기 및 스트림 응답을 생성하는 방법도 배웠습니다. 최고의 LLM이라고 말하기에는 너무 이르지만 공식 테스트 벤치마크를 살펴보면 AI 왕좌에 새로운 왕이 있습니다.

 
 

아비드 알리 아완 (@1abidaliawan)은 기계 학습 모델 구축을 좋아하는 공인 데이터 과학자 전문가입니다. 현재 그는 콘텐츠 제작에 집중하고 있으며 머신 러닝 및 데이터 과학 기술에 대한 기술 블로그를 작성하고 있습니다. Abid는 기술 관리 석사 학위와 통신 공학 학사 학위를 보유하고 있습니다. 그의 비전은 정신 질환으로 고생하는 학생들을 위해 그래프 신경망을 사용하여 AI 제품을 만드는 것입니다.

spot_img

최신 인텔리전스

spot_img