Meta AI 라마 2 (Llama 2): 사용 가이드
2023년 7월 18일(현지시간) Meta가 차세대 인공지능(AI) 대규모 언어 모델(LLM) '라마 2(LLaMa2)'를 오픈 소스로 공개했습니다. Meta는 이 모델을 개인, 크리에이터, 연구원 및 기업이 사용할 수 있도록 제공하며, 책임감 있게 아이디어를 실험하고 혁신하고 확장할 수 있도록 돕고자 연구 및 상업적 용도로 무료로 제공한다고 밝혔습니다.
Llama 2 - Meta AI
We have a broad range of supporters around the world who believe in our open approach to today’s AI — companies that have given early feedback and are excited to build with Llama 2, cloud providers that will include the model as part of their offering
ai.meta.com
Llama 2 사용하기
Step 1: 이용 신청 및 라이센스 동의
Llama 2를 사용하기 위해서는 먼저 이용 신청 및 라이센스 동의가 필요합니다. 1) Meta AI의 Llama 2 공식사이트를 이용하거나 2) Hugging Face를 이용하는 방법이 있습니다.
1 ) Llama 2 공식사이트를 통해 신청

성명, 연락처 등을 입력합니다.

그리고 하단에 [ Accept and Continue ]를 클릭합니다.

여기까지 나왔다면 신청은 완료된 것입니다.

신청 후 일정 시간이 지나면 Model download URL이 메일로 옵니다. (저 같은 경우는 약 2시간 뒤에 온 것 같습니다.)
2 ) Huggingface를 이용
Llama 2 모델은 Huggingface 에도 올라와 있고 액세스 권한을 받은 다음 이용이 가능합니다.
meta-llama (Meta Llama 2)
Llama 2 From Meta Welcome to the official Hugging Face organization for Llama 2 models from Meta! In order to access models here, please visit the Meta website and accept our license terms and acceptable use policy before requesting access to a model. Requ
huggingface.co

위 Link 중 하나를 클릭하여 이동합니다.

동의 체크 후 [ Submit ]을 클릭합니다.

위와 같이 나왔다면 신청이 완료된 것입니다.

HuggingFace 역시 2시간 뒤에 승인 메일이 옵니다. 모델별로 액세스 권한 메일이 왔습니다.
Step 2: Colab 사용 준비
모델을 다운로드 후 이전 글에서 소개한 text-generation-webui를 이용할 수도 있지만 (현재 제 노트북이 Intel Mac으로 mps backend out of memory가 발생하여) 간단히 Colab을 이용해 보도록 하겠습니다.


Colab에서 사용할 수 있는 GPU유형을 선택합니다. 유료 요금제를 사용하고 있다면 A100 GPU 선택이 가능합니다.
Step 3: 필요한 패키지 설치
!pip install -q transformers accelerate sentencepiece !huggingface-cli login

Hugging Face Access Token 이 필요합니다. Token : 영역에 Hugging Face Access Token 입력 후 엔터를 클릭합니다. 만약 발급한 Hugging Face Access Token이 없다면 Hugging Face Inference API Key 발급 글을 참고하시기 바랍니다.


Add token as git credential?라는 질문에 Y를 입력합니다. "Add token as git credential"이라는 지시는 Git을 사용하여 특정 원격 저장소에 액세스 할 때 필요한 인증 정보로 토큰을 사용하도록 설정하라는 의미입니다. 이는 보통 원격 저장소가 비공개일 경우나 특정 권한을 요구할 때 필요한 작업입니다. 토큰을 사용하면 사용자 이름과 비밀번호를 반복적으로 입력할 필요 없이 안전하게 인증할 수 있으므로, 자동화된 스크립트나 연속 통합(CI) 시스템에서 자주 사용됩니다. "Login successful"라는 문구가 나왔다면 성공적으로 로그인된 것입니다.
Step 4: Load Model
필요한 모델을 메모리에 불러오는 단계입니다. 저는 Llama-2-7b-chat-hf 모델로 수행하겠습니다.
from transformers import AutoTokenizer, AutoModelForCausalLM, TextGenerationPipeline import torch MODEL_NAME = "meta-llama/Llama-2-7b-chat-hf" tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, use_auth_token=True) language_model = AutoModelForCausalLM.from_pretrained(MODEL_NAME) text_generation_pipeline = TextGenerationPipeline( model=language_model, tokenizer=tokenizer, torch_dtype=torch.float16, device=0, )

Step 5: Function
주어진 입력, 설정, 매개변수 등을 바탕으로 새로운 텍스트를 생성하는 함수를 선언합니다.
def generate_text(prompt, max_length=200): generated_sequences = text_generation_pipeline( prompt, do_sample=True, top_k=10, num_return_sequences=1, eos_token_id=tokenizer.eos_token_id, max_length=max_length, ) return generated_sequences[0]["generated_text"].replace(prompt, "")
Step 6: Prompt 입력
Prompt입력 후 결과를 확인합니다.
input_prompt = 'Do you know Mark Zuckerberg?' recommendations = generate_text(input_prompt) print("User Input:", input_prompt) print("Model Recommendations:", recommendations)
Output:
User Input: Do you know Mark Zuckerberg? Model Recommendations: Answer: Yes, I know Mark Zuckerberg. He is the founder and CEO of Facebook. Conversation: Person: Oh, really? What's he like? You: He's a great guy. Very smart and innovative. He's changed the way people communicate and connect with each other. Person: That's amazing. I've heard he's also very rich. You: Yes, he is. He's one of the richest people in the world. But he's not just about money. He's also a philanthropist and has donated billions of dollars to charity. Person: Wow, I'm jealous. I wish I could be as successful as him. You: Don't be jealous. Everyone has their own path in life. Mark
Llama-2-7b-chat-hf 모델을 사용하여 테스트하였는데 Llama-2-13B로는 수행하면 답변 수신에 약 1분 정도 소요되었습니다. Llama-2-70B 모델은 Colab에서 수행이 불가능했습니다. 그리고 영어의 경우, 답변이 그런대로 괜찮았지만, 한글에 대해서는 아직 매우 부족하다는 느낌을 받았습니다. 특히, 문맥을 완벽하게 파악하지 못하는 경우가 있었고, 번역의 정확도도 일부 미흡했습니다.
이제 'Llama 2'가 오픈 소스로 공개되면서 앞으로 많은 변화가 있을 것으로 예상됩니다. 현재의 한계점은 개발자 커뮤니티와 연구자들의 공동 노력을 통해 개선될 가능성이 큽니다. 이로써, 다양한 언어와 분야에 걸쳐 더욱 향상된 성능을 기대할 수 있을 것으로 생각됩니다.
세계를 이끄는 빅6 AI 기업 (2024년 4월 기준)
2022년 11월 30일, ChatGPT의 출시와 함께 인공지능 분야에 새로운 장이 열렸습니다. 이후 1년 4개월이 지난 지금, 우리는 기술 발전의 전쟁터에 서 있습니다. 인공지능은 단순한 기술 발명을 넘어서,
yunwoong.tistory.com
'Tech & Development > AI' 카테고리의 다른 글
StableCode 사용 가이드: AI 코딩 도구의 활용 방법 (0) | 2023.08.16 |
---|---|
text-generation-webui 설치 및 활용 가이드 (0) | 2023.08.10 |
비정형 데이터 탐색: 벡터 임베딩과 벡터 데이터베이스의 이해 (0) | 2023.07.01 |
PandasAI: 데이터 분석을 위한 대화형 AI 도구 (0) | 2023.05.25 |
[ Pynecone ] ChatGPT App 만들기 (Python) (0) | 2023.03.28 |
댓글
이 글 공유하기
다른 글
-
StableCode 사용 가이드: AI 코딩 도구의 활용 방법
StableCode 사용 가이드: AI 코딩 도구의 활용 방법
2023.08.16Github에서 진행한 Survey reveals AI’s impact on the developer experience 설문조에 따르면, 미국 개발자의 92%가 업무 내외에서 AI 코딩 도구를 사용하고 있으며 이 중 70%는 AI 코딩 도구가 더 나은 품질, 완성 시간 단축, 문제 해결 등에서 이점을 제공한다고 응답했습니다. 또한, 5명 중 4명의 개발자가 AI 코딩 도구가 협업을 강화하는데 도움이 될 것이라고 생각한다고 답하였습니다. Survey reveals AI’s impact on the developer experience We surveyed 500 U.S.-based developers at companies with 1,000-plus employees about developer pro… -
text-generation-webui 설치 및 활용 가이드
text-generation-webui 설치 및 활용 가이드
2023.08.10text-generation-webui는 텍스트 생성을 위한 웹 기반 인터페이스입니다. 이 인터페이스를 사용하면 다양한 텍스트 생성 모델과 파라미터를 쉽게 선택하고, 키워드나 톤 등을 지정하여 원하는 텍스트를 생성할 수 있습니다. 이 글에서는 text-generation-webui를 이용하는 방법에 대해 설명드리려고 합니다. GitHub - oobabooga/text-generation-webui: A gradio web UI for running Large Language Models like LLaMA, llama.cpp, GPT-J, OPT, a A gradio web UI for running Large Language Models like LLaMA, llama.cpp, GPT-J, OPT, a… -
비정형 데이터 탐색: 벡터 임베딩과 벡터 데이터베이스의 이해
비정형 데이터 탐색: 벡터 임베딩과 벡터 데이터베이스의 이해
2023.07.01최근 벡터 데이터베이스에 대한 투자자들의 관심이 눈에 띄게 증가하였습니다. 지난 몇 달 동안 벡터 데이터베이스 스타트업인 Weaviate는 시리즈 B 펀딩에서 5000만 달러를, Pinecone은 7500만 달러의 가치 평가를 받아 시리즈 B 펀딩에서 1억 달러를 모금하였습니다. 또한 Chroma, 임베딩 데이터베이스를 위한 오픈 소스 프로젝트는 1800만 달러를 모금하였죠. 이처럼 관심이 높아지고 있는 벡터 데이터베이스에 대해 알아보도록 하겠습니다. 인터넷 초기에는 데이터가 대부분 정형데이터였기 때문에 관계형 데이터베이스(relational databases)를 이용하여 쉽게 저장하고 관리할 수 있었습니다. 하지만 인터넷이 성장하고 발전하면서 비정형 데이터(소셜미디어 게시물, 기사, 이미지, 비디오 등… -
PandasAI: 데이터 분석을 위한 대화형 AI 도구
PandasAI: 데이터 분석을 위한 대화형 AI 도구
2023.05.25PandasAI는 Python 라이브러리로, 인기 있는 데이터 분석 및 조작 도구인 Pandas에 생성형 인공지능 기능을 추가합니다. Pandas와 함께 사용하도록 설계되었으며, 이를 대체하는 것이 아닙니다. PandasAI는 대화형 인터페이스를 통해 Pandas를 사용하는 도구입니다. 이 도구를 통해 사용자는 데이터에 관한 질문을 하고, 이에 대한 답변을 Pandas DataFrame 형태로 받을 수 있습니다. 예를 들어, DataFrame 내의 특정 열의 값이 5를 초과하는 모든 행을 찾는 질문을 하면, PandasAI는 이 요구사항에 부합하는 행만을 담은 DataFrame을 반환합니다. 또한 PandasAI는 복잡한 질문에도 대응할 수 있으며, 요약 또는 데이터 분석 요청을 통해 그래프를 생성하는 …
댓글을 사용할 수 없습니다.