๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•
LLM์˜ ๋ชจ๋“  ๊ฒƒ 1 [RAG-Retrieval Augmented Generation] 1. RAG - Retrieval Augmented Generation : ๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ : ์ƒˆ๋กœ์šด ์ง€์‹์— ๊ด€ํ•œ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ Embeddingํ•ด์„œ Vector stores์— ์ €์žฅํ•˜๊ณ , ํ”„๋กฌํ”„ํŠธ ๊ตฌ์„ฑ์„ ์ง„ํ–‰ํ•  ๋•Œ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜จ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๊ป˜ ์ด์šฉํ•ด์„œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ตฌ์„ฑํ•œ ๋’ค LLM์œผ๋กœ๋ถ€ํ„ฐ ๋‹ต๋ณ€์„ ์–ป์–ด๋‚ธ๋‹ค. ์‚ฌ์šฉ์ž ์งˆ๋ฌธ ์งˆ๋ฌธ ์ž„๋ฒ ๋”ฉ ๋ฐ ๋‚ด ๋ฐ์ดํ„ฐ๋„ ์ž„๋ฒ ๋”ฉ ์ง„ํ–‰ ์ดํ›„, ๋ฒกํ„ฐ DB(์ €์žฅ์†Œ)์— ์ž„๋ฒ ๋”ฉ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ์งˆ๋ฌธ์„ ์ด์šฉํ•ด ์ €์žฅํ•ด๋†“์€ DB ์ €์žฅ์†Œ์—์„œ ๊ฒ€์ƒ‰ ์ง€์‹œ ํ”„๋กฌํ”„ํŠธ ๊ตฌ์„ฑ + ์งˆ๋ฌธ(query ์žฌ์ƒ์„ฑ) + ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ n๊ฐœ > ์–ธ์–ด๋ชจ๋ธ GPT์—๊ฒŒ ์ œ๊ณต ์–ธ์–ด ๋ชจ๋ธ์ด ๋‹ต๋ณ€ ์ƒ์„ฑ ๋‹ต๋ณ€ ์ถœ๋ ฅ 2-2) ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ : AI๊ฐ€ ์‚ฌ๋žŒ์˜ ์–ธ์–ด๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ ํ•ด์ฃผ๋Š” AI.. 2024. 3. 5.
[Transformer] train.py, dataset.py, config.py, Mask ๊ตฌํ˜„ํ•˜๊ธฐ - 2 (Pytorch) ์ง€๋‚œ ์‹œ๊ฐ„์— ์ด์–ด, ์˜ค๋Š˜์€ ๋‚˜๋จธ์ง€ train.py, config.py, dataset.py ํŒŒ์ผ์„ ๊ตฌํ˜„ํ–ˆ๋‹ค. https://www.youtube.com/watch?v=ISNdQcPhsts ์ด ๋ถ„ ์ฝ”๋“œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. 1. Dataset.py ๊ตฌํ˜„ 1-1. Bilingual Dataset ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ์…‹์€ Hugging Face์—์„œ ์ œ๊ณตํ•˜๋Š” opus_books Dataset์„ ํ™œ์šฉํ•˜์˜€๋‹ค. https://huggingface.co/datasets/opus_books/viewer/en-it opus_books · Datasets at Hugging Face { "en": "Nor could I pass unnoticed the suggestion of the bleak shores of Laplan.. 2024. 2. 21.
[Transformer] ์•„ํ‚คํ…์ฒ˜ ๊ตฌํ˜„ํ•˜๊ธฐ - 1 (Pytorch) Transformer๋Š” ๋…ผ๋ฌธ์œผ๋กœ๋งŒ ์ฝ์–ด๋ดค์ง€, ์ฝ”๋“œ๋กœ ๋œฏ์–ด๋ณด๋Š” ๊ฒƒ์€ ์ฒ˜์Œ์ด๋‹ค. ๋…ผ๋ฌธ ์ €์ž๋“ค์€ ์ •๋ง ์ฒœ์žฌ๊ฐ€ ๋งž๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์œ ํŠœ๋ธŒ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜์˜€์œผ๋ฉฐ, ์ด๋ฒˆ ํฌ์ŠคํŒ…์€ ์˜ค๋กœ์ง€ ์•„ํ‚คํ…์ฒ˜์—๋งŒ ์ดˆ์ ์„ ๋งž์ท„๋‹ค. ๋ฐ์ดํ„ฐ ๋ถ€๋ถ„์€ ๋‹ค์Œ์ฃผ์— ์˜ฌ๋ฆด ์˜ˆ์ •. 1. Input Embedding ๊ตฌํ˜„ํ•˜๊ธฐ import torch import torch.nn as nn import math #Input embedding class InputEmbeddings(nn.Module): #d ์ฐจ์› ์„ค์ •, vocab size ์„ค์ •(์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋‹จ์–ด ๋„ฃ์„๊ฑด์ง€) def __init__(self,d_model : int, vocab_size : int): super().__init__() self.d_model = d_model self... 2024. 2. 17.
[UNet] copy and crop ์ฝ”๋“œ ๊ตฌํ˜„ ๋ฐ ์•„ํ‚คํ…์ฒ˜ ๊ตฌํ˜„ํ•˜๊ธฐ (Pytorch) ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋“ค์—์„œ๋Š” padding์„ 2๋กœ ๋งž์ถฐ์„œ, ๋”ฐ๋กœ copy and crop์„ ํ•˜์ง„ ์•Š์•˜์ง€๋งŒ, ํ•ด๋‹น ๋…ผ๋ฌธ์˜ ๊ทธ๋ฆผ์„ ๋ณด๊ณ  ์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด padding=0์œผ๋กœ ์„ค์ •ํ•ด์„œ ๋ณธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ƒˆ๋กœ ๊ตฌ์ถ•ํ•˜์˜€๋‹ค. import torch.nn as nn import torch.nn.functional as F import torch import os import numpy as np from torchvision import transforms #https://sd118687.tistory.com/8 (Mirroring extrapolate) class UNet(nn.Module): #copy and crop ํ•จ์ˆ˜ ์ •์˜ #batch_size, channels, height, width def copy_and_crop(.. 2024. 2. 8.
TOBIG's [์‹ฌ์ธตํ•™์Šต] ์ œ5์žฅ ๊ธฐ๊ณ„ ํ•™์Šต์˜ ๊ธฐ์ดˆ 5.1 ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜ 5.1.1 ๊ณผ์ œ T - ๊ธฐ๊ณ„ํ•™์Šต์˜ ๊ณผ์ œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐ๊ณ„ ํ•™์Šต ์‹œ์Šคํ…œ์ด ๊ฒฌ๋ณธ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์„ ์„œ์ˆ ํ•˜๋Š” ํ˜„ํƒœ๋กœ ์ •์˜๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ฒฌ๋ณธ์ด๋ž€ ๊ธฐ๊ณ„ ํ•™์Šต ์‹œ์Šคํ…œ์˜ ์ฒ˜๋ฆฌ ๋Œ€์ƒ์ธ ์–ด๋–ค ๋ฌผ์ฒด๋‚˜ ์‚ฌ๊ฑด์œผ๋กœ๋ถ€ํ„ฐ ์ •๋Ÿ‰์ ์œผ๋กœ ์ธก์ •ํ•œ ํŠน์ง•(feature๋“ค์˜ ์ง‘ํ•ฉ)์„ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒฌ๋ณธ ๋””์ง€ํ„ธ ์ด๋ฏธ์ง€์˜ ํŠน์ง•๋“ค์€ ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ”ฝ์…€๊ฐ’์ด๋‹ค. ๋‹ค์Œ์€ ๊ฐ€์žฅ ํ”ํ•œ ๊ธฐ๊ณ„ ํ•™์Šต ๊ณผ์ œ ๋ช‡ ๊ฐ€์ง€์ด๋‹ค. 1. ๋ถ„๋ฅ˜ 2. ๊ฒฐ์ธก ์ž…๋ ฅ์ด ์žˆ๋Š” ์ž๋ฃŒ์˜ ๋ถ„๋ฅ˜ : ์ž…๋ ฅ ๋ฒกํ„ฐ์˜ ๋ชจ๋“  ์ธก๋„๊ฐ€ ํ•ญ์ƒ ๋ณด์žฅ์ด ์—†์„ ๋•Œ๋Š” ๋ถ„๋ฅ˜๊ฐ€ ๋” ์–ด๋ ค์›Œ์ง„๋‹ค. ๋”ฐ๋ผ์„œ, ๋ชจ๋“  ๊ด€๋ จ ๋ณ€์ˆ˜์— ๊ด€ํ•œ ํ™•๋ฅ ๋ถ„ํฌ๋ฅผ ํ•™์Šตํ•˜๊ณ , ๊ฒฐ์ธก๊ฐ’๋“ค์„ ์ฃผ๋ณ€ํ™”ํ•ด์„œ ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ๋„ ํ•œ๋‹ค. 3. ํšŒ๊ท€ 4. ์ „์‚ฌ(์˜ฎ๊ฒจ์“ฐ๊ธฐ) : ํ•ด๋‹น ์ข…๋ฅ˜์˜ ๊ณผ์ œ์—์„œ ๊ธฐ๊ณ„ ํ•™์Šต ์‹œ์Šคํ…œ์€ ๋น„๊ต์  ๊ตฌ์กฐ์ ์ด.. 2024. 2. 2.
[TOBIG's] ์‹ฌ์ธตํ•™์Šต - ์ œ4์žฅ ์ˆ˜์น˜๊ณ„์‚ฐ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐ๊ณ„ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์—๋Š” ๋Œ€๋Ÿ‰์˜ ์ˆ˜์น˜ ๊ณ„์‚ฐ์ด ํ•„์š”ํ•˜๋‹ค. ์–ด๋–ค ๋ฐ˜๋ณต์ ์ธ ๊ณผ์ •์„ ํ†ตํ•ด ์ •๋‹ต์˜ ์ถ”์ •๊ฐ’์„ ๊ณ„์† ๊ฐฑ์‹ ํ•จ์œผ๋กœ์จ ๋ฌธ์ œ๋ฅผ ํ’€์ง€๋งŒ, ์œ ํ•œํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ€์ง„ ๋””์ง€ํ„ธ ์ปดํ“จํ„ฐ๋Š” ์‹ค์ˆ˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๊ธฐ์— ์•ฝ๊ฐ„์˜ ํ•œ๊ณ„๊ฐ€ ์กด์žฌํ•œ๋‹ค. 4.1 ๋„˜์นจ๊ณผ ์•„๋ž˜๋„˜์นจ - ์•„๋ž˜๋„˜์นจ(underflow) : 0์— ๊ฐ€๊นŒ์šด ์ˆ˜๊ฐ€ ๋ฐ˜์˜ฌ๋ฆผ ๋•Œ๋ฌธ๋ฐ ์ •ํ™•ํžˆ 0์ด ๋˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. - ๋„˜์นจ(overflow) : ํฌ๊ธฐ๊ฐ€ ํฐ ์ˆ˜๊ฐ€ ๋ฌดํ•œ๋Œ€ ํ˜น์€ ๋งˆ์ด๋„ˆ์Šค ๋ฌดํ•œ๋Œ€๋กœ ๊ทผ์‚ฌ๋˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. -> ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ์“ฐ์ด๋Š” ํ•จ์ˆ˜๊ฐ€ ๋ฐ”๋กœ ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜์ด๋‹ค. ๋ฉ€ํ‹ฐ๋ˆ„์ด ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ํ™•๋ฅ ๋“ค์„ ์˜ˆ์ธกํ•˜๋Š”๋ฐ ํ”ํžˆ ์‚ฌ์šฉ๋œ๋‹ค. 4.2 ๋‚˜์œ ์กฐ๊ฑดํ™” - ์กฐ๊ฑดํ™” : ์ž…๋ ฅ์˜ ์ž‘์€ ๋ณ€ํ™”์— ๋Œ€ํ•ด ํ•จ์ˆ˜๊ฐ€ ์–ผ๋งˆ๋‚˜ ๊ธ‰ํ•˜๊ฒŒ ๋ณ€ํ•˜๋Š”์ง€๋ฅผ ๋œปํ•˜๋Š” ์šฉ์–ด์ด๋‹ค. ๊ณผํ•™ ๊ณ„์‚ฐ์—.. 2024. 2. 2.
728x90
๋ฐ˜์‘ํ˜•