본문 바로가기

개발14

[논문 리뷰] RS-DPO(Rejection Sampling DPO) 최근에 RLHF, DPO 같은 모델을 학습하는 방법론에 대해 공부해보는 중인데요,오늘은 올해 초 아마존에서 제안한 RS-DPO(Rejection Sampling Direct Preference Optimization)에 대해 소개해드리려고 합니다. RLHF와 DPO 관련 내용이 궁금하시다면 해당 포스팅 1(RLHF), 2(DPO)를 참고 해보시면 좋을 것 같습니다! RS-DPO란?RLHF와 DPO 둘 모두 사람의 선호도를 기반으로 언어 모델을 튜닝해서 조금 더 "사람처럼 답변하는" 또는 "사람이 선호하는 답변을 생성하는" Alignment 과정을 위한 학습방법론입니다.RLHF는 데이터 수집 및 학습에 비용이 많이 들고, 강화학습 방법론의 일종이다 보니 학습이 불안정 할 수 있다는 단점이 있었습니다.이 한.. 2024. 11. 19.
DPO란? - RLHF를 개선한 모델 학습 방법론 DPO란?오늘은 지난번에 알아본 RLHF(Reinforcement Learning with Human Feedback)의 효율화된 버전인 DPO(Direct Preference Optimization)에 대해 알아보겠습니다.RLHF와 그 한계점에 알고싶으신 분들은 해당 포스팅을 참고해보시면 좋을 것 같습니다!DPO는 RLHF와 마찬가지로 사람의 피드백을 활용하여 언어 모델을 개선하는 방법론입니다.다만 RLHF의 비용적 한계를 개선하기 위해 좀 더 간단한 접근법을 제시합니다. DPO는 아래와 측면에서 비용적 한계를 개선했습니다.직접적인 선호도 최적화: 사용자의 선호도 데이터를 직접 활용하여 언어 모델을 최적화합니다.리워드 모델 불필요: RLHF와 달리 별도의 리워드 모델을 학습할 필요가 없습니다.간소화된 .. 2024. 11. 18.
RLHF란? - ChatGPT가 사용한 언어모델 학습 방법론 RLHF란?RLHF(Reinforcement Learning with Human Feedback)는 강화 학습의 한 종류로, 사람의 피드백을 활용하여 모델을 개선하는 방법론입니다.강화 학습에서는 환경에서 보상을 최대화하는 방향으로 학습을 하는데, RLHF는 이 보상이 사람의 선호도라고 생각하면 이해하기 쉽습니다 :)1+2는 뭐야? 라고 물어봤을 때 아래 답변들 모두 올바른 답변을 했다고 평가할 수 있습니다.정답은 3입니다. 너무 쉬운 문제네요.정답은 3.1과 2를 더하면 3이기 때문에 정답은 3입니다.이러한 상황에서는 뭘 기준으로 더 학습을 진행해야 모델이 개선될지 정하기 어려울 수 있는데요, 이럴 때 RLHF로 사람의 선호도를 반영하도록 학습을 한다면, 언어 모델은 더 자연스럽고 일관성 있는 문장을 생.. 2024. 11. 16.
[SQLP 자격증] 1과목 이론 정리 - 데이터 모델링의 이해, 엔티티, 속성 오늘은 SQLP의 1과목 - 데이터 모델링의 이해에 포함되는 내용 중에서도데이터 모델의 이해, 엔티티, 속성, 식별자에 대해 정리해보겠습니다. 데이터 모델의 이해데이터 모델: 일정한 표기법에 따라 표현한 모형데이터 모델링: 모델을 만들어 가는 일 자체 데이터 모델링의 특징데이터 모델링은 아래 세 가지 특징을 가지고 있습니다.추상화: 현실 세계를 일정한 형식에 맞춰 표현단순화: 약속된 규약을 따라 간결하게 표현명확화: 애매모호함을 제거하고 정확하게 기술 데이터 모델링의 3단계하위로 갈수록 데이터베이스는 점점 구체화 됩니다.개념적 데이터 모델링가장 업무 중심적이고 포괄적, 추상적인 단계입니다.핵심 엔티티와 그들 간의 관계를 발견하고 표현하기 위해 ERD(Entity Relationship Diagram)를 .. 2024. 11. 15.
[SQLP 자격증] 시험 범위 및 합격 조건 잡설대학원에 다닐 때 까지는 그래도 열심히 공부를 했던 것 같은데,,,회사에 다니다 보니 점점 자기개발 의지를 잃어가는 것 같아서 2025년은 자격증 취득을 목표로 열심히 살아보려고해요!!순전히 취미로 SQLP, ADP, 정처기, 빅분기 같은 자격증을 따보려고 하는데 일단 현업에 제일 도움이 될 것 같은 SQLP부터 공부해보려고 합니다!이번 포스팅에서는 SQLP 응시 자격과, 뭘 공부해야하는지 알아보도록 할게요😊  SQLP 자격증은?SQLP 자격증은 데이터베이스 및 SQL 전문가로서의 자격을 검증하는 자격증입니다.SQLP는 SQLD보다 고급 과정으로, 데이터베이스 관리, SQL 고급 활용 및 튜닝 능력까지 검증하는 시험이에요.SQLP는 총 3과목으로 이루어져 있는데 그 중에 두 과목이 SQLD와 동일합.. 2024. 11. 14.
[Python] re 모듈로 문자열 처리하기 Python에서 re 모듈은 문자열을 처리할 때 특정 패턴을 가진 문자열을 검색하고, 변형하는 데 매우 유용합니다. 정규 표현식은 복잡해 보일 수 있지만, 한 번 익혀두면 매우 유용하게 쓸 수 있습니다. 이번 포스팅에서는 re 모듈의 대표적 함수 사용법을 예제와 함께 알아보겠습니다! re 모듈 시작하기Python에서 아래와 같이 re 모듈을 불러오면 사용할 준비는 끝입니다ㅎ import re re 모듈의 주요 함수re.match(): 문자열의 시작에서 패턴 찾기match 함수는 문자열의 첫 부분이 지정한 패턴과 일치하는지 확인합니다. 일치하면 Match 객체를 반환하고, 그렇지 않으면 None을 반환합니다.import retext = "Hello, world!"pattern = r"Hello"match .. 2024. 11. 13.
[Python] try 구문 모든 예외 처리하기 파이썬을 사용하다 보면 예상하지 못한 예외가 발생할 수 있습니다. 특히 외부 입력을 받거나 다양한 라이브러리를 사용할 때, 프로그램이 갑작스럽게 종료되지 않도록 모든 예외를 처리하고 싶은 경우가 있습니다. 이런 상황에서는 try-except 문을 활용해 모든 예외를 한 번에 처리할 수 있습니다. 이번 글에서는 Python에서 모든 예외를 잡는 방법과 그 예제 코드를 알아보겠습니다. 모든 예외를 처리할 수 있는 try-except 구문try-except 문을 사용하면 특정 에러가 아닌 모든 에러를 잡을 수 있습니다.방법도 아주 간단한데, 바로 except 구문에 Exception을 사용하시면 됩니다.예외가 발생하면 Exception 클래스가 이를 캐치하고, 개발자는 발생한 예외의 메시지를 확인하거나 추가적.. 2024. 11. 7.
[Basics] Object Detection이란? - 2Stage 모델 Object Detection이란?Object detection이란 컴퓨터 비전 task 중에서도 여러 객체에 대해 classification과 localization을 모두 수행하는 task로, 이미지에 등장하는 객체들의 위치와 클래스를 알아내는 작업입니다. 2-Stage vs 1-StageObject detection 모델들은 크게 2-stage 기반과 1-stage 기반의 방법으로 분류할 수 있습니다. 2-stage 기반의 방법들은 객체가 있을만한 후보 영역을 먼저 추려내고(localization), 해당 영역에 있는 객체의 종류가 무엇인지 알아내는(classification) 순차적인 방법으로 object detection을 수행합니다.반면 1-stage 기반의 방법들은 2-stage 방법이 느리.. 2024. 10. 29.
[Python] Python은 난수를 어떻게 생성할까? 🧐 파이썬에서 나오는 난수는 어떻게 고른 수 일까요?Python 에서는 아래와 같은 코드로 여러 난수를 생성할 수 있습니다.이 때 난수는 어떤 방식으로 생성되는 것일까요?결론부터 말하자면 파이썬은 메르센 트위스터 (Mersenne Twister)를 사용해 난수를 생성합니다!   🤨 그렇다면 메르센 트위스터란 무엇일까요?컴퓨터는 사람과 달리 진짜 난수를 생성할 수 없습니다.하지만, 개발을 하다보면 랜덤한 수가 필요할 때가 있습니다.각종 개발 언어는 이런 상황에 개발자에게 난수를 제공하기 위해랜덤해 보이지만 사실은 규칙이 있는 의사 난수 생성기 (pseudorandom number generator)를 사용합니다.Python, C++, 더 나아가 엑셀,  MATLAB등에서 사용하는 의사 난수 생성기가 바.. 2024. 10. 29.
[Bayesian] MLE와 MAP 1. 베이즈 확률론이란?베이즈 확률론이란 고전적인 빈도 주의 확률론과 달리 확률을 믿음의 정도로 해석하는 확률론입니다.예를 들어 동전의 앞면이 나올 확률이 0.5라고 할 때빈도주의 확률론은 동전을 1000번 던졌을 때 앞면이 나오는 횟수가 500번이 될 것이라고 해석하고,베이즈 확률론은 동전을 한 번 던졌을 때 앞면이 나왔다는 주장의 신뢰도가 50%라고 해석합니다.  2. 베이즈 정리란?베이즈 정리란 사전확률(prior)과, 사후 확률(poesterior)의 관계를 나타내는 정리로, 이를 활용하면 데이터가 주어지기 전의 사전확률이데이터가 주어짐에 따라 어떻게 변하는지 계산할 수 있습니다 이를 베이즈 확률론의 관점에서 해석하자면어떤 가설을 상정했을 때, 관찰한 데이터를 기반으로 가설에 대한 신뢰도를 업데이.. 2024. 10. 29.
[Python] 파이썬 GIL - Multiprocess vs Multithread torch.nn.DataParallel(DP) 과 torch.nn.DataDistributedParallel(DDP)의 차이점을 살펴보던 중GIL 관련 이야기가 나와서 작성해봅니다. 😄 Python에서는 multi-processing을 써라?아래 글은 pytorch 공식 문서에서 발췌한 글입니다.It is recommended to use DistributedDataParallel, instead of DataParallel to do multi-GPU training, even if there is only a single node.The difference between DistributedDataParallel and DataParallel is: DistributedDataParallel use.. 2024. 10. 29.
[논문 리뷰] Segment Anything(SAM) 들어가며지난 4월 Meta에서 Segment Anything(SAM)이라는 논문이 나왔습니다.CLIP처럼 확장성이 좋은 것 같아 곧 SAM을 활용한 논문이 우후죽순 나올 것 같아읽어봐야지 읽어봐야지 하다가 이제서야 정리해봅니다 :)  ⛳️ Image Segmentation 분야의 foundation model최근 자연어 처리(NLP)분야에서는 매우 큰 데이터 셋으로 학습한 대용량 언어 모델 (Large Language Model)의 일반화 (generalization)성능이 우수하여 프롬프트 튜닝을 통해 zero-shot, few-shot downstrem task에서도 좋은 성능을 보여주고 있다고 합니다.이러한 LLM은 다른 하위 태스크 수행의 기반이 되는 foundation 모델이라고도 부르는데, .. 2024. 10. 29.