[LLM] Groq: LPU 기반으로 대규모 AI 모델 (LLaMA70b, Gemma2-9b) 경험해 보기 - Free API Key 발급, Langchain 예제
·
AI
지난 시간에는 ollama를 활용하여 경량화된 LLaMA3.2 모델(1b, 3b 등)을 로컬 머신에서 직접 실행해보는 실습을 진행하였다. NVIDIA의 GPU 시장 독점을 견제하려는 목적으로 설립된 미국 스타트업 Groq은, 자체 개발한 LPU(Language Processing Unit)를 활용해 LLaMA-70B, Gemma-2-9B 등 로컬 머신에서 실행하기 어려운 대규모 모델을 웹과 API로 제공한다. 오늘은 이를 활용해보려 한다.  Groq is Fast AI InferenceThe LPU™ Inference Engine by Groq is a hardware and software platform that delivers exceptional compute speed, quality, and ..
[LLM] ollama + open-webui로 온디바이스 LLM Chatbot 환경 구축하기
·
AI
그냥 ChatGPT 무료 버전을 사용하면 되지만, 다양한 방식으로 활용하기 위해서는 api를 사용하여 내부 로직을 바꾸거나, llama와 같은 언어 모델을 ollama 백엔드 서버에 올려 사용하거나, 혹은 Hugging Face에서 받아온 모델을 사용할 수 있을 것이다. 이를 편리하게 해주는 웹 프레임워크인 open-webui를 이용하여 온디바이스 LLM chatbot 환경을 구축해 보자! 1. ollama순서를 무조건 이렇게 할 필요는 없지만, 먼저 ollama를 설치하고, 여러 언어 모델들을 다운로드하여 CLI 환경에서 작동시켜 보자.  GitHub - ollama/ollama: Get up and running with Llama 3.3, Mistral, Gemma 2, and other large..
[SKT FLY AI Challenger] 5기 수상 팀 멤버들의 보라매사옥 방문기
·
Life
열정반 담임을 맡으신 문기석 대표님과 가끔씩 근황 토크를 하는데, 이번에는 사옥에 한번 방문해 주면 좋겠다는 연락을 받았다! 그래서 바로 우리 팀 소집을 하였지만 다들 시간이 바빠서 우수상 팀, 그리고 최근에 KDT 해커톤에서 무려 최우수상을 수상한 현동이 팀까지 연락을 돌려서 겨우겨우 다섯 명을 맞췄다! 시간 내준 현동, 유선, 지혜, 혜인이 땡큐땡큐 근데 열한 시 반까지 모이기로 해놓고 나 혼자 지각 테크랩은 여전하네... 오랜만에 매니저 님들과 인사도 나누고 바로 12시부터 열정반에 갔다! 그런데 위 사진은 패기반 사진.. 사실 배가 고파서 열정반 QnA 때에는 사진을 찍어달라 하지 못했다 아쉽 아쉽 지혜는 열정반만 들어가고 일정이 있어 가버리는 바람에 사진에 없다 🥲 열정반 QnA가 끝나..
[24년 회고] 얻자, 웃자, 알자
·
Life
나는 매년 친구들과 12월 31일에서 1월 1일로 넘어가는 하루를 같이 보낸다. 내 기준으로 가장 친한 친구들 3명이 최근 4년 간 함께해 주었는데(매우 감사한 일이다.), 그때마다 우리는 카운트 다운을 마치고 술 한잔씩 하며 서로의 일 년 목표를 얘기한다. 이번 연말도 숙소를 잡으면서, 올해는 일 년을 어떻게 살았는가 되돌아보게 되었다. 매년 키워드를 정했던 건 아닌데, 희한하게도 올해를 준비했던 마음가짐에는 얻자, 웃자, 알자가 있었다. 그 이유를 곱씹어보면, 그때의 나의 상황에서 제일 필요했던 세 가지였나 보다. 23년 복학을 하면서 컴퓨터공학을 복수전공하였는데, 당시에는 이 전공을 들고 졸업하여 IT 회사에 취직하거나 IT계열 스타트업을 차려보고자 하였다. 그러려면 남들은 다년간 쌓아온 전공 ..
[Terminology] Situation Awareness에 대해 알아보자
·
Research
Situation Awareness(상황 인식)는 다양한 분야에서 사용되는 개념으로, 개인이나 시스템이 주어진 상황에서 중요한 정보를 수집, 이해, 그리고 예측하는 능력을 의미한다. 이는 특히 항공, 군사, 의료, 운송, HCI(인간-컴퓨터 상호작용) 같은 분야에서 의사결정과 행동을 지원하는 데 중요한 역할을 한다.Situation Awareness의 정의 1995년 Endsley는 상황 인식을 세 단계로 구분하여 설명하였다. 이는 다음과 같다.Level 1 - Perception (지각):현재 상황에서 중요한 요소를 감지하고 식별하는 단계이다. 예를 들어, 조종사가 비행기의 속도, 고도, 기상 정보를 읽는 과정에 해당한다.Level 2 - Comprehension (이해):감지한 정보를 바탕으로 현재 ..
[LLM] RAG 개선하기 (3) - 바이 인코더 + 교차 인코더
·
AI
RAG를 개선하는 최종 목적지는 결국 바이 인코더로 유사도가 높은 상위 검색 결과에 교차 인코더를 다시 한번 적용하여 검색 정확도를 최대한 끌어올리는 데에 있다. 이를 위해 이번 시간에는 교차 인코더를 구현해 보고, 이어서 바이 인코더와 교차 인코더를 조합하여 최적의 검색 기능을 만들어 보자. 그러기 위해서 앞서 작성한 포스팅들이 큰 도움이 될 것이다.  [LLM] 임베딩 모델로 데이터 의미 압축하기 (2) - 문장 임베딩 방식[LLM] 임베딩 모델로 데이터 의미 압축하기 (1) - 텍스트 임베딩 이해하기컴퓨터가 자연어를 이해하려면 텍스트를 숫자로 바꿔야 하는데, 이 과정에서 '임베딩'이라는 방식이 쓰인다. 오늘은 텍스dusanbaek.tistory.com 교차 인코더 구현 교차 인코더의 A to Z를 ..
[LLM] RAG 개선하기 (2) - 임베딩 모델 미세 조정하기 (Fine-Tuning)
·
AI
이번 시간에는 좋은 임베딩 모델을 만들어 검색 쿼리와 관련된 문서를 잘 찾게 만들어 보자. 이를 위해 임베딩 모델을 KLUE의 MRC 데이터셋으로 추가 학습시키도록 하겠다.사전 학습된 모델의 성능 살펴보기 데이터 전처리 from datasets import load_datasetklue_mrc_train = load_dataset('klue', 'mrc', split='train')klue_mrc_train[0]# {'title': '제주도 장마 시작 … 중부는 이달 말부터',# 'context': '올여름 장마가 17일 제주도에서 시작됐다. 서울 등 중부지방은 예년보다 사나흘 정도 늦은 이달 말께 장마가 시작될 전망이다.17일 기상청에 따르면 제주도 남쪽 먼바다에 있는 장마전선의 영향으로 이날 제주도..
[LLM] RAG 개선하기 (1) - 언어 모델을 임베딩 모델로 만들기
·
AI
이전 포스팅에서는 두 문장 간 유사도를 비교하는 방법 두 가지인 바이 인코더와 교차 인코더 중 비교적 구현이 간단한 바이 인코더에 대해서 알아보았다. 하지만 교차 인코더의 정확도도 포기할 수 없으므로, 두 인코더의 장점을 살려 더 높은 성능의 검색을 구현하는 방법에 대해 알아보자. 또 기존의 문장 임베딩 모델을 가져와서 사용하기만 하는 것이 아니라, 이번에는 순수의 BERT 모델을 가져와 문장 임베딩 모델로 학습시켜 보자.검색 성능을 높이기 위한 두 가지 방법 허깅페이스 모델 허브에서 사전 학습된 문장 임베딩 모델을 가져와 그대로 사용할 경우, 우리의 RAG가 가진 데이터셋으로 학습을 한 것이 아니므로 정확도가 떨어질 수 있다. 이를 극복하기 위해 할 수 있는 두 가지 방법을 알아보자. 데이터 추가 학습..
[Terminology] 체계적 문헌 고찰, PRISMA에 대해 알아보자
·
Research
Preferred Reporting Items for Systematic Reviews and Meta-Analyses (PRISMA)는 체계적 문헌 리뷰와 메타 분석의 투명성과 완전성을 보장하기 위해 개발된 보고 지침이다. PRISMA는 연구자가 체계적 리뷰를 계획, 수행, 보고할 때 일관되고 명확한 방식을 제공하여 연구 결과의 신뢰성과 재현 가능성을 높이는 데 도움을 준다. PRISMA의 주요 요소체계적 리뷰 과정PRISMA는 체계적 문헌 리뷰와 메타 분석의 각 단계를 구조화된 방식으로 수행하고 보고하도록 설계되었다. 주요 단계문헌 검색: 연구 대상 문헌을 체계적으로 수집선정 기준: 포함/제외 기준을 명확히 정의데이터 추출: 선택된 문헌에서 필요한 데이터를 체계적으로 추출결과 보고: 리뷰 결과를 체계..
[GitHub] master branch를 main branch로 변경하기
·
etc
깃허브를 초반에 사용했었을 때에는 master 브랜치를 루트 브랜치로 사용하곤 했다. 그래서 그게 표준이라고 생각했었는데, 어느샌가 main 브랜치로 바뀌었더라. 별로 중요하지 않아서 안 바꿔줘도 되지만 여러 Repo와의 통일성과 나름의 강박으로 인해 바꾸려 한다. 해당 상황은 원격 브랜치도 master, 로컬 브랜치도 master인 경우를 가정한다. git branch# if not in master branch, thengit checkout master 먼저 현재 브랜치를 확인한다. 만약 master 브랜치가 아니라면, master 브랜치로 이동해 준다. git branch -m master main 이어서 master 브랜치를 -m 옵션을 통해 main이라는 새로운 이름으로 변경해 준다. git ..