본문 바로가기

전체 글31

데이터베이스 테이블 관계를 그래프로 시각화하기 TL;DR 데이터베이스를 운영하다보면, 데이터가 추가되면서 테이블 간의 관계가 복잡해져 그 관리가 어려워질 수 있다. 이 포스트에서는 Marco Perone의 글을 바탕으로 데이터베이스 내 테이블들의 관계를 그래프로 나타내어 보면, 데이터베이스 관리에 있어 어떤 유용한 인사이트를 얻을 수 있는 지 알아본다. 원문 링크: https://marcosh.github.io/post/2016/09/15/db-graph-analisys.html * 의역이 있을 수 있습니다. Database relations and graph visualization 데이터베이스 테이블 관계를 그래프로 시각화하기 프로젝트의 크기가 점점 커질 때, 이를 여러 개의 하위 프로젝트로 분할하는 것이 바람직한 시점까지 성장하는 경우가 종종 .. 2024. 2. 3.
검색증강생성(RAG) - Ragas를 이용한 RAG 파이프라인 평가 2023.11.01 - [🔵 AI & ML] - 검색증강생성(RAG) 이해하기 - 01. 벡터 DB 기초 개념 TL;DR 이전 포스트에서 벡터 DB와 검색 증강 생성(RAG)에 대한 간단한 개념을 알아보았다. 그럼, 벡터 DB를 이용해 구축한 RAG 파이프라인을 어떻게 평가할 수 있을까? 언어 모델 자체의 평가에 있어서는 여러 지표가 알려져 있지만, 최근 주목받기 시작한 RAG 분야에 특화된 평가 지표는 확립되어 있지 않은 것 같다. 이 포스트에서는, RAG 파이프라인 평가 프레임워크인 Ragas를 참고하여 RAG의 평가 방법을 알아본다. * 이해를 돕기 위한 의역이 포함될 수 있습니다. Ragas Ragas(Retrieval-Augmented Generation Assessment)는 RAG 파이프라인.. 2024. 1. 27.
LLM 이해하기 - LLM의 기초 개념 TL;DR ChatGPT가 불러온 LLM과 AI의 시대는 아직도 계속되고 있으며, LLM은 계속 진화하고 있다. 이제 SF 창작물에서만 보던 AGI(Artificial General Intelligence) 시대가 점점 다가오고 있는 것 같다. 이 시리즈는 LLM을 기초부터 시작하여 다양한 시각에서 관찰해 나가며 이해하는 것을 목적으로 한다. 이 포스트는 Andrej Karpathy와 정형원 님, 고우영 님의 교육 자료를 주로 참고했고, 그 외 다양한 자료를 참고하여 작성되었음을 미리 밝힌다. Andrej Karpathy(OpenAI, Tesla)의 'Intro to Large Language Models' 영상 링크: https://www.youtube.com/watch?v=zjkBMFhNj_g 정형원.. 2024. 1. 14.
Microsoft, 2.7B의 경량 규모 언어 모델 출시: Phi-2 TL;DR Microsoft에서 Phi-1.5의 후속 모델을 출시했다. 이미 Orca라는 비교적 작은 사이즈의(7B, 13B) 언어 모델을 출시했었지만 이번엔 그보다 더욱 작은 2.7B 사이즈의 모델이다. 이는 개인이나 작은 사업체에서도 충분히 운용 가능한 사이즈로 볼 수 있다. AI 모델 운용 인프라 보유 능력이 비대칭적으로 변해가면서 경량화 LLM 모델의 수요가 높아지고 있는 가운데, Phi-2 모델이 경량화 LLM에서 주도적인 입지를 가질 수 있을 지 기대된다. Phi-2: The surprising power of small language models Phi-2: 작은 언어 모델의 놀라운 힘 By Mojan Javaheripi , Senior Researcher Sébastien Bubeck ,.. 2024. 1. 10.
경량화 LLM을 이용한 SQL 생성기를 만들어보자 TL;DR 최근 양자화(Quantization) 등의 방법으로 LLM 경량화가 이루어지면서, 일반 사용자들이 LLM을 이용한 서비스를 구축하기가 한결 수월해졌다. 이 포스트에서는 양자화한 7B 수준의 LLM을 기반으로, 자연어 질의를 SQL로 변환해주는 생성기를 만들어 본다. 본 튜토리얼은 Colab Pro(또는 Pro Plus)의 T4 GPU 및 고용량 RAM 환경에서 수행되었다. 구글 Colab(이하 코랩)은 기본적으로 임시 디렉토리에 파일을 저장하므로, 만약 작업 중 파일을 저장하거나 불러올 때는 구글 드라이브 경로를 지정해주어야 합니다. 드라이브 마운트 후 cd 명령어를 이용해 경로를 설정해줍니다. 필요한 경우에만 실행하면 됩니다. from google.colab import drive drive.. 2024. 1. 6.
AWS Solutions Architect Associate(SAA-C03) 기출문제 정리 - 04 인덱스 요구사항 솔루션 2-01 AWS로 마이그레이션해야하는 Windows 앱 여러 가용영역에 배포된 EC2 Windows에 함께 연결된 공유 Windows 파일 시스템이 필요 Windows 파일 서버용 FSx를 구성하고, 각 Windows EC2에 FSx 파일 시스템 탑재 EFS는 NFS 프로토콜로 리눅스 OS 인스턴스 용도이며, EBS는 동일 가용 영역의 EC2만 연결 가능 2-02 AWS를 사용하여 이벤트 데이터를 수신하는 대로 처리하며, 특정 순서로 작성 운영 오버헤드를 최소화하는 솔루션 필요 Simple Queue Service(SQS) FIFO 대기열 생성 대기열의 메시지를 처리하도록 Lambda 함수 설정 Simple Notification Service(SNS)와 혼동하지 않도록 주의 2-.. 2024. 1. 3.
애플, 거대 멀티모달 모델(Large Multi-modal Model, LMM) 'Ferret' 공개 Apple's 'Ferret' is a new open-source machine learning model by Malcolm Owen, Product Comparison Expert Source: Apple Insider(Link) TL;DR 뜬금없이 크리스마스 이브날에 애플이 새로운 LMM(Large Multi-modal Model)을 공개했다고 기사가 떴다. 사실 공개는 진작에 했는데 기사화를 크리스마스 기념으로 이번에 한 듯 함. 생각해보니 의외로 애플 정도의 회사가 아직 ChatGPT나 LLaMA와 경쟁할 모델을 내놓지 않았었다. 그나저나 요즘 모델에 동물 이름 붙이는 게 유행인듯 한데(라마, 알파카, 오르카..), 이번엔 페럿이다. 귀엽네.. Researchers working for App.. 2023. 12. 27.
AWS Solutions Architect Associate(SAA-C03) 기출문제 정리 - 03 인덱스 요구사항 솔루션 1-21 Docker 컨테이너에서 앱을 구축 후 AWS에서 앱을 실행하고, 관리 서비스를 사용해 앱을 호스팅해야 함 서비스 수용에 따라 적절히 확장 및 축소되어야 함 관리에 추가 운영 오버헤드나 인프라를 초래해선 안됨 Fargate와 함께 ECS(Elastic Container Service) 이용 Fargate와 함께 EKS(Elastic Kubernetes Service) 이용 1-22 비디오 처리를 위해 최대 I/O 성능 및 최소 10TB의 스토리지 필요 내구성이 뛰어난 300TB의 미디어용 스토리지 사용하지 않는 아카이브 미디어용 900TB 스토리지 최대 성능을 위한 EC2 인스턴스 스토어 내구성 있는 데이터 스토리지를 위한 S3, 아카이브 스토리지를 위한 S3 Glacie.. 2023. 12. 27.
Objective Function 이해하기 - 01. Probability와 Likelihood의 차이 'Probability(확률)'와 'Likelihood(가능도 또는 우도)'는 비슷한 개념처럼 보이지만 서로 다른 의미를 가짐. Probability는 어떤 사건이 발생할 가능성의 정도로, 일반적으로 0과 1 사이의 값으로 표현됨. 확률이 0이면 사건이 전혀 발생하지 않을 것을, 확률이 1이면 사건이 반드시 발생할 것을 의미함. 확률은 특정 조건이나 주어진 정보에 기반하여 계산됨. 이에 비해, Likelihood는 주어진 데이터(또는 결과값)에 대한 특정 통계 모델, 또는 매개변수 집합의 적합성을 측정함. Likelihood는 주어진 데이터가 관찰되었을 때, 그 데이터가 어느 정도나 특정 모델 또는 매개변수 값으로부터 '가능한가'를 나타냄. Likelihood는 확률과 달리 확률 분포의 일부가 아니며, .. 2023. 12. 19.
AWS Solutions Architect Associate(SAA-C03) 기출문제 정리 - 02 인덱스 요구사항 솔루션 1-11 Real-time Messaging Protocol 이용한 뉴스 라이브 방송 서비스 최고 품질의 스트림과 가속화된 TCP 연결 제공 필요 Global Accelerator를 이용하여 가속화된 TCP 제공 1-12 단일 VPC, 다수 가용영역의 다수 EC2에서 미디어 제공 모든 EC2 간 데이터 공유 가능한 고성능 솔루션 필요 데이터를 VPC 내에서만 유지해야 함 Elastic File System(EFS)를 구성하고 모든 EC2에 마운트 Elastic Block Store(EBS)는 단일 가용영역에서만 사용 가능 1-13 다수 가용영역에 배포되는 웹 앱 공유 스토리지 솔루션 웹 앱은 Auto Scaling 그룹의 EC2에서 실행 콘텐츠가 수시로 변경되며, 즉시 새 콘텐츠가.. 2023. 12. 19.
AWS Solutions Architect Associate(SAA-C03) 기출문제 정리 - 01 인덱스 요구사항 솔루션 1-1 온프레미스 NFS 서버의 데이터를 AWS 클라우드로 마이그레이션 짧은 지연시간 액세스 유지 필요 Storage Gateway 배포 후 File Gateway(NFS 지원, 짧은 지연시간)를 이용해 S3에 데이터 저장 로컬 캐시를 이용해 짧은 지연시간 유지 1-2 S3에 저장된 많은 양의 콘텐츠를 수백만 명의 사용자에게 제공 원본 부하를 줄이면서 제공 S3 버킷 앞에 CloudFront를 이용해 배포 원본 콘텐츠를 Edge location에 캐싱 Global Accelerator는 원본 부하 감소가 목적이 아닌 라우팅 속도 향상 목적 1-3 AWS 계정에 대한 공격을 모니터링하고 방지해야 함 악의적 활동을 모니터링하고 보안 결과를 제공하는 GuardDuty 서비스 이용 1-4.. 2023. 12. 18.
검색증강생성(RAG): 벡터 DB 기초 TL; DR 우리가 어떤 목적이나 데이터에 특화된 customized LLM 앱을 만들고 싶다고 해 보자. 그러면 사용자가 가진 데이터(예: 책, 대화 기록, 기술 문서 등)을 모델에게 추가로 학습시켜야 하는데, LLM을 학습시키는 것은 상당히 높은 컴퓨팅 자원을 요구한다. 그 뿐 아니라, LLM에 맞게 데이터셋과 코드를 별도로 구축해야 하는 번거로움이 있다. 이 때 하나의 대안이 되는 방법이 검색 증강 생성(RAG)이며, 벡터 DB는 RAG 프레임워크의 주요 구성 요소이다. 이 포스트에서는 먼저 RAG와 벡터 DB의 기초 개념과 그 활용 양상에 대해 간단히 살펴본다. 벡터 벡터는 길이와 방향을 가진 수학적 객체를 말한다. 이는 $n$차원 벡터 공간에서의 위치를 나타내며, 이 위치는 길이가 $n$인 1차.. 2023. 11. 1.