paint-brush
PaLM API와 함께 LLM(대형 언어 모델) 사용에 대한 초보자 가이드~에 의해@wise4rmgod
9,219 판독값
9,219 판독값

PaLM API와 함께 LLM(대형 언어 모델) 사용에 대한 초보자 가이드

~에 의해 Wisdom Nwokocha8m2023/08/22
Read on Terminal Reader
Read this story w/o Javascript

너무 오래; 읽다

이 튜토리얼은 PaLM API를 통해 LLM(Large Language Models)을 활용하여 취업 지원 노력을 향상시키기 위한 개인화된 소개서를 작성하는 방법을 포괄적으로 소개합니다. LLM의 강력한 기능과 실제 응용 프로그램을 조명하고 자기 소개서 작성에 대한 단계별 가이드를 제공합니다. 고급 인공 지능을 기반으로 하는 LLM은 일관된 텍스트를 생성하고, 언어 번역을 촉진하며, 사용자와 창의적으로 소통할 수 있습니다. PaLM API는 개발자가 LLM의 기능을 활용할 수 있는 게이트웨이 역할을 합니다. 이 튜토리얼에서는 LLM의 기초, 신경망 아키텍처 및 학습 과정을 설명합니다. 텍스트 생성, 번역, 질문 답변, 요약, 코드 생성을 포괄하는 LLM의 다양한 응용을 살펴보고 LLM이 산업 전반에 걸쳐 갖고 있는 혁신적인 잠재력을 조명합니다. PaLM API를 자세히 살펴보는 튜토리얼에서는 실제 구현을 시작하는 방법을 보여줍니다. Google Cloud Platform 계정 생성, API 키 획득, PaLM API 클라이언트 라이브러리 설치 과정을 안내합니다. 이 튜토리얼에서는 명확한 코드 예제를 제공하고 PaLM API를 사용하여 텍스트를 생성하는 과정을 안내합니다. 이러한 단계를 수행함으로써 독자는 LLM 및 PaLM API를 활용하여 맞춤형 자기 소개서 작성에 대한 통찰력을 얻고 눈에 띄는 성공적인 입사 지원을 위한 무대를 설정합니다.

People Mentioned

Mention Thumbnail
featured image - PaLM API와 함께 LLM(대형 언어 모델) 사용에 대한 초보자 가이드
Wisdom Nwokocha HackerNoon profile picture
0-item

꿈의 직업을 구하는 데 도움이 될 맞춤형 자기 소개서를 작성할 방법을 찾고 계십니까? 그렇다면 PaLM API와 함께 LLM(대형 언어 모델)을 사용하여 소개서 작성 도구를 만드는 데 관심이 있을 수 있습니다.


LLM(대형 언어 모델)은 텍스트를 생성하고, 언어를 번역하고, 다양한 창의적인 텍스트 형식을 작성하고, 질문에 비공식적으로 답변할 수 있는 인공 지능(AI)입니다. 이는 매우 강력하여 새로운 도구와 애플리케이션을 만드는 데에도 사용할 수 있습니다.


그러한 도구 중 하나는 개발자가 LLM에 액세스하고 사용할 수 있도록 하는 PaLM API입니다.


이 가이드에서는 PaLM API(사전 학습 및 대규모 언어 모델 API)를 사용하여 커버레터 작성 도구를 만드는 방법을 보여줍니다. 이 도구는 입사 지원서에 대한 개인화된 자기 소개서를 생성하는 데 도움이 될 수 있습니다.

LLM이란 무엇입니까?

LLM(대형 언어 모델)은 대규모 텍스트 데이터 세트에 대해 훈련된 고급 인공 지능(AI) 시스템입니다. 이를 통해 단어와 구가 어떻게 서로 어울리는지 학습하여 이해하기 쉽고 올바른 문장을 생성할 수 있습니다.


LLM은 생성 AI 의 한 유형으로, 새로운 콘텐츠를 만들 수 있음을 의미합니다.


LLM은 일반적으로 변환기 라고 하는 신경망 유형을 사용하여 구축됩니다. Transformer는 자연어를 이해하고 생성하는 데 필수적인 단어 간의 장거리 종속성을 학습할 수 있습니다. 변환기 모델은 여러 레이어 로 구성되며 각 레이어는 서로 다른 작업을 수행합니다.


예를 들어, self-attention 레이어를 사용하면 모델이 문장에 있는 여러 단어 간의 관계를 학습할 수 있습니다.

gigazine.net

LLM의 예로는 OpenAI에서 만든 GPT-3이 있습니다. GPT-3는 많은 텍스트와 코드를 통해 배웠습니다. 글을 쓰고, 언어를 번역하고, 창의적인 콘텐츠를 만들고, 질문에 친절하게 답변할 수 있습니다.


LLM은 매우 강력하며 컴퓨터 사용 방식을 바꿀 수 있습니다. 상태가 좋아지면 여러 가지 방법으로 우리에게 도움이 될 수 있습니다.


  • 가상 보조자: LLM은 사람처럼 우리를 이해하고 대화하는 스마트 보조자가 될 수 있습니다. 이렇게 하면 장치 사용이 훨씬 쉬워질 수 있습니다. 예를 들어, LLM은 약속을 예약하거나 스마트 홈 장치를 제어하는 데 도움을 주는 가상 비서를 제공할 수 있습니다.


  • 교육: LLM은 학생들에게 개인적인 학습을 제공할 수 있습니다. 그들은 또한 에세이를 채점하고 학생들에게 조언을 해줄 수도 있습니다. 예를 들어, LLM을 사용하여 학생을 위한 맞춤형 독서 목록을 만들거나 학생의 에세이에 대한 피드백을 제공할 수 있습니다.


  • 의료: LLM은 의료 기록을 읽고 가능한 건강 문제를 찾을 수 있습니다. 그들은 심지어 새로운 치료법을 만드는 데 도움을 줄 수도 있습니다. 예를 들어, LLM은 특정 질병이 발생할 위험이 있는 환자를 식별하거나 새로운 약물 치료법을 개발하는 데 사용될 수 있습니다.


  • 금융 서비스: LLM은 고객에게 조언을 제공하고 사기 거래를 감지할 수 있습니다. 예를 들어, LLM은 고객이 올바른 투자 포트폴리오를 선택하거나 사기성 신용 카드 거래를 감지하는 데 도움을 줄 수 있습니다.

법학대학원


대규모 언어 모델은 어떻게 작동합니까?

LLM은 먼저 언어의 단어와 구문 간의 통계적 관계를 학습하는 방식으로 작동합니다. 이는 텍스트와 코드로 구성된 대규모 데이터 세트에서 모델을 훈련함으로써 수행됩니다. 모델이 이러한 관계를 학습하면 학습된 텍스트와 유사한 새로운 텍스트를 생성할 수 있습니다.


  1. LLM은 텍스트와 코드로 구성된 대규모 데이터 세트에 대해 교육을 받았습니다. 이 데이터세트에는 책과 기사부터 코드 저장소와 소셜 미디어 게시물까지 모든 것이 포함됩니다.


  2. LLM은 데이터 세트의 단어와 구문 간의 통계적 관계를 학습합니다. 즉, 어떤 단어가 함께 나타날 가능성이 높은지, 단어의 순서에 따라 문장의 의미가 어떻게 바뀔 수 있는지 학습한다는 의미입니다.


  3. LLM이 이러한 관계를 학습하면 새로운 텍스트를 생성할 수 있습니다. 이를 위해서는 몇 단어나 문장과 같은 시드 텍스트로 시작합니다. 그런 다음 학습한 통계적 관계를 사용하여 문장의 다음 단어를 예측합니다. 새로운 문장이 생성될 때까지 이 작업을 계속합니다.


LLM이 텍스트를 생성하는 방법의 예는 다음과 같습니다.

 `Seed text: "The cat sat on the mat." LLM prediction: "The cat sat on the mat and stared at the bird."`


이 예에서 LLM은 "cat"과 "sat"라는 단어 뒤에 "on"이라는 단어가 오는 경우가 많다는 사실을 학습했습니다. 또한 "mat" 뒤에는 "and"가 오는 경우가 많다는 것도 배웠습니다. 이러한 관계를 기반으로 LLM은 문장의 다음 단어가 "and"라고 예측합니다.


그런 다음 계속해서 다음 단어 "stared"를 예측합니다.


다음은 LLM의 작동 방식을 보여주는 다이어그램입니다.

Researchgate.net


LLM은 신경망으로 구성됩니다. 신경망은 데이터의 패턴을 인식하는 방법을 학습할 수 있는 복잡한 수학적 모델입니다. LLM의 경우 신경망은 단어와 구문 간의 통계적 관계를 인식하는 방법을 학습합니다.


신경망은 텍스트와 코드로 구성된 대규모 데이터세트를 기반으로 훈련되었습니다. 데이터세트는 한 번에 한 단어씩 신경망에 입력됩니다. 그런 다음 신경망은 시퀀스의 다음 단어를 예측하려고 시도합니다.


예측의 정확도가 측정되고 신경망이 업데이트되어 정확도가 향상됩니다.


이 과정은 신경망이 시퀀스의 다음 단어를 정확하게 예측하는 방법을 학습할 때까지 여러 번 반복됩니다.

대규모 언어 모델은 무엇을 위해 사용됩니까?

  • 텍스트 생성: LLM은 시, 코드, 대본, 음악 작품, 이메일, 편지 등과 같은 텍스트를 생성할 수 있습니다. 예를 들어 Bard라는 LLM은 다양한 창의적인 텍스트 형식을 생성할 수 있습니다. 귀하의 모든 요구 사항을 충족시키기 위해 최선을 다할 것입니다.


  • 번역: LLM은 한 언어에서 다른 언어로 텍스트를 번역할 수 있습니다. 예를 들어 Google Translate LLM은 텍스트를 영어에서 프랑스어, 스페인어, 독일어, 중국어, 일본어 및 기타 여러 언어로 번역할 수 있습니다.


  • 질문 답변: LLM은 개방형이거나 도전적이거나 이상한 주제라도 다양한 주제에 대한 질문에 답변할 수 있습니다. 예를 들어, LaMDA LLM은 날씨, 역사 또는 시사에 관한 질문에 답할 수 있습니다.


  • 요약: LLM은 뉴스 기사나 연구 논문과 같은 긴 텍스트를 요약할 수 있습니다. 예를 들어 BARD라는 LLM은 연구 논문을 몇 문장으로 요약할 수 있습니다.


  • 코드 생성: LLM은 Python, Java 또는 C++ 코드를 생성할 수 있습니다. 예를 들어 GitHub Copilot LLM은 정확하고 효율적인 코드를 생성할 수 있습니다.


창의적 글쓰기: LLM은 시, 단편 소설, 대본과 같은 창의적인 텍스트를 생성할 수 있습니다. 예를 들어, GPT-3이라는 LLM을 사용하여 독창적이고 창의적인 시를 생성할 수 있습니다.

PaLM API 시작하기

PaLM API(Pathways Language Model API)는 개발자가 Google의 PaLM 2 LLM(대형 언어 모델)에 액세스할 수 있는 클라우드 기반 API입니다. PaLM 2는 다음을 포함한 다양한 작업에 사용할 수 있는 강력한 LLM입니다.


  • 텍스트 생성: PaLM API는 다양한 방법으로 텍스트를 생성할 수 있습니다. 문자나 채팅 서비스를 이용하실 수 있습니다. 텍스트 서비스는 텍스트 요약, 창의적인 콘텐츠 작성, 질문에 대한 유용한 답변 등 다양한 목적으로 텍스트를 생성할 수 있습니다. Chat 서비스는 챗봇 및 기타 대화 앱용 텍스트를 생성할 수 있습니다.


  • 프로그래밍 언어: PaLM API는 Node.js, Python, Android Kotlin, Swift 및 Java를 지원합니다. 이 튜토리얼에서는 Node.js 텍스트 예제를 사용합니다.


  • 문서: PaLM API는 오픈 소스이므로 누구나 사용하고 개선할 수 있습니다. 또한 잘 문서화되어 있으므로 개발자가 사용 방법을 쉽게 배울 수 있습니다.


PaLM API를 시작하려면 다음 단계가 필요합니다.


1: Google Cloud Platform 계정을 만듭니다.

Google Cloud Platform 웹사이트( https://cloud.google.com/) 를 방문하면 됩니다.


2: API 키를 받으세요. API를 사용하려면 API 키가 필요합니다. 대기자 명단을 통과하면 MakerSuite에서 한 번의 클릭으로 키를 생성할 수 있습니다. 이 링크를 통해 https://makersuite.google.com/waitlist


3: PaLM API 클라이언트 라이브러리를 설치합니다. PaLM API 클라이언트 라이브러리는 PaLM API와 상호 작용하는 데 사용할 수 있는 코드 세트입니다. 다음 명령을 실행하여 설치할 수 있습니다.

 npm init -y npm install google-auth-library


다음으로 생성 언어 클라이언트 라이브러리를 설치합니다.

 npm install @google-ai/generativelanguage


4: 필수 모듈 가져오기

 const { TextServiceClient } = require("@google-ai/generativelanguage").v1beta2; const { GoogleAuth } = require("google-auth-library");


이 단계에서 코드는 require 함수를 사용하여 필요한 모듈을 가져옵니다. @google-ai/generativelanguage 라이브러리에서 TextServiceClient 클래스를 가져오고 google-auth-library 에서 GoogleAuth 클래스를 가져옵니다.


5: 상수 설정

 const MODEL_NAME = "models/text-bison-001"; const API_KEY = process.env.API_KEY;


여기서 코드는 사용하려는 텍스트 생성 모델의 이름을 지정하는 MODEL_NAME 과 환경 변수에서 API 키를 검색하는 API_KEY 두 가지 상수를 설정합니다.


6: TextServiceClient 인스턴스 생성

 const client = new TextServiceClient({ authClient: new GoogleAuth().fromAPIKey(API_KEY), });

이 단계에서는 TextServiceClient 클래스의 인스턴스를 만듭니다. 환경 변수에서 얻은 API 키로 인스턴스화되는 GoogleAuth 클래스를 사용하여 인증으로 클라이언트를 초기화합니다.


7: 프롬프트 정의

 const prompt = "Write a simple and short cover letter for a technical writer";

여기서 코드는 텍스트 생성을 위한 입력으로 사용될 초기 텍스트를 보유하는 prompt 라는 변수를 정의합니다.


8: 텍스트 생성

 client .generateText({ model: MODEL_NAME, prompt: { text: prompt, }, }) .then((result) => { console.log(JSON.stringify(result)); });

이 단계에서 코드는 client 인스턴스를 사용하여 텍스트를 생성합니다. 클라이언트 인스턴스에서 generateText 메소드를 호출합니다. 모델 이름( MODEL_NAME )과 프롬프트 텍스트( prompt )가 포함된 객체를 속성으로 전달합니다.


generateText 메소드는 then 메소드를 사용하여 처리된 Promise를 반환합니다. 생성된 결과는 JSON 문자열로 변환된 후 블록 내부 콘솔에 기록됩니다.


그런 다음 스크립트를 실행합니다.

 node index.js


다음과 비슷한 결과를 얻게 됩니다.

 [{"candidates":[{"safetyRatings":[{"category":"HARM_CATEGORY_DEROGATORY","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_TOXICITY","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_VIOLENCE","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_SEXUAL","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_MEDICAL","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_DANGEROUS","probability":"NEGLIGIBLE"}],"output":"Dear [Hiring Manager name],\n\nI am writing to express my interest in the Technical Writer position at [Company name]. I have been working as a technical writer for the past five years, and I have a proven track record of success in developing and delivering clear, concise, and engaging technical documentation.\n\nIn my previous role at [Previous company name], I was responsible for writing a wide range of technical documentation, including user guides, API documentation, and training materials. I have a strong understanding of the technical writing process, and I am proficient in a variety of writing and editing tools.\n\nI am also an excellent communicator, and I am able to effectively translate complex technical information into language that is easy for both technical and non-technical audiences to understand. I am confident that I have the skills and experience that you are looking for in a Technical Writer.\n\nI am eager to learn more about the Technical Writer position at [Company name], and I am confident that I would be a valuable asset to your team. I am available for an interview at your earliest convenience.\n\nThank you for your time and consideration.\n\nSincerely,\n[Your name]","citationMetadata":{"citationSources":[{"startIndex":1068,"_startIndex":"startIndex","endIndex":1196,"_endIndex":"endIndex","uri":"https://www.upwork.com/resources/cover-letter-tips","_uri":"uri","license":"","_license":"license"}]},"_citationMetadata":"citationMetadata"}],"filters":[],"safetyFeedback":[]},null,null]


결론적으로 이 튜토리얼에서는 PaLM API와 함께 LLM(대형 언어 모델)을 사용하는 기본 사항을 소개했습니다. 다음 방법을 배웠습니다.


  • LLM 및 PaLM API의 잠재력 이해
  • PaLM API를 사용하여 맞춤형 자기 소개서 생성기 만들기
  • LLM을 활용하여 텍스트 생성, 언어 번역, 질문 답변
  • PaLM API를 Node.js 및 클라이언트 라이브러리와 통합


이는 LLM 및 API를 사용하여 수행할 수 있는 작업의 시작에 불과합니다. 이러한 기술을 계속 탐색하면서 이를 사용하여 문제를 해결하고 새로운 경험을 창출하며 미래를 형성하는 더 많은 방법을 발견하게 될 것입니다.