본문 바로가기
728x90
300x250

코딩/LLM23

OpenAI의 Function Calling의 원리를 알아보자 한 3달전에 캐글에 랭체인을 이용한 라마와 펑션콜링에 대한 주제로 글을 쓴게 있는데 1110뷰를 돌파 했습니다. ㅎㅎ OpenAI의 function calling은 출시 됬을 때 chatgpt를 이용한 개발자들에게 혁신적인 인기가 있었습니다. 이번 포스트는 Jsonformer를 통해서 OpenAI의 function calling이 무엇인가? 어떻게 구현 됬는지 알아보려고 합니다. 모델이 구조화된 JSON을 출력하는 것은 문법적으로 올바르고 JSON 구조를 명시하는 스키마를 준수해야 합니다. 이 문제를 해결하는 것은 매우 어려운 작업입니다. 현재 이 문제에 대한 접근 방식은 부서지기 쉽고 오류가 발생하기 쉽습니다. 이는 프롬프트 엔지니어링, 세세한 조정 및 후처리에 의존하지만 여전히 많은 경우에 문법적으로.. 2024. 2. 13.
DPO LLM 강화학습법에 대해서 DPO는 RLHF(Reinforcement Learning from Human Feedback)에 의존하지 않고 사용자 선호도 데이터를 직접 사용하여 언어 모델(LM)을 최적화하는 방법입니다. 주요 목표는 고품질 출력을 생성하기 위해 사용자 선호도를 기반으로 언어 모델을 훈련하는 것입니다. DPO는 강화학습 정책(PPO와 같은 것)을 사용하지 않으면서도(reward 모델링 없이) reward 함수와 기존 정책을 연결하여 인간의 선호 데이터에 최적화할 수 있다고 논문에서 설명합니다. 논문에 따르면 RLHF로 finetuning한 모델과 비교했을 때, DPO는 요약, single-turn 문제에서 더 우수한 성능을 보였습니다. DPO의 동기: DPO는 RLHF에 의존하지 않고 코드 생성과 같은 작업을 위한 .. 2024. 1. 24.
Efficient Training of Language Models to Fill in the Middle 언어 모델 효과적인 훈련을 위한 중간 부분 채우기 | 논문 리뷰 영상 감상 https://youtu.be/eHrUKmeQEAA?si=TaXBky4q_1uQypJs 요약: 대형 언어 모델 소개: 본 논문에서는 2017년에 소개된 transformer 아키텍처를 기반으로 한 대형 언어 모델의 성공에 대해 논의합니다. 이러한 모델들은 다양한 작업에서 최첨단 성능을 달성하며 읽기 이해, 질문 응답, 논리 추론 및 상식적 추론과 같은 여러 벤치마크에서 우수한 성과를 보입니다. Transformer 기반 언어 모델의 종류: 논문은 언어 모델을 인코더 전용 모델 (예: BERT), 인코더-디코더 모델 (예: T5) 및 인과 디코더 기반 모델 (예: GPT-3)로 세 가지 넓은 범주로 분류합니다. 각 클래스는 대량 언어 모델링, 스팬 예측 또는 왼쪽에서 오른쪽으로 다음 토큰 예측과 같은 다양.. 2024. 1. 18.
tiktoken 및 cl100k_base을 오프라인에서 사용후기 가끔 프로젝트를 하다보면 tiktoken을 오프라인으로 사용해야될 경우가 필요하다. 주로 캐시파일에 저장되기 때문에 시간이 지난다면 tiktoken이 알아서 새롭게 다운 받으려고 하는데... 이 경우 오프라인 PC에서 사용하게 되거나 제한된 인터넷 환경에서는 좀 귀찬게 된다. 첫번째. tiktoken 파일 다운로드 import tiktoken_ext.openai_public import inspect print(dir(tiktoken_ext.openai_public)) print(inspect.getsource(tiktoken_ext.openai_public.cl100k_base)) # >>> # 이하 생략 def cl100k_base(): mergeable_ranks = load_tiktoken_bpe.. 2024. 1. 15.
728x90
300x250