코딩

· ai
*작업의 형태로 말해야 한다. 중점적으로 본 것이 아니라**3가지 작업이 연결될 수 있도록, 맥락을 제시하기*저는 자연어 처리 파트를 맡아서 사용자가 가상의 캐릭터와 일상대화를 할 수 있는 캐릭터 챗봇을 개발했습니다.일상대화의 특성상 한번 질문했을때 응답하고 끝나는 형태가 아니라, 질문과 응답이 왔다갔다 하는 형태. 멀티턴 형태를 학습을 시켜야 했어요. 그래서멀티턴 대화 학습에 맞게 최적의 데이터셋 형태로 전처리 하고전처리한 데이터셋으로 적합한 언어모델에 학습을 시키고 검증을 진행했습니다.완성된 모델을 호출할 수 있도록 api를 설계해서, 사용자가 서비스를 사용시 모델이 잘 응답할 수 있도록 만들었습니다.
· ai
멀티턴 대화 학습과정에서 가장 먼저 해야 할 일은 '데이터셋 준비'이다.aihub와 같은 데이터셋 제공 플랫폼에서 멀티턴 대화 데이터를 제공하지만,이 데이터를 어떤 형태로 가공해서 학습시키는 것이 최적일지에 대해서는 정답이 없다.왜냐하면, 이는 모델 구조(gpt,bert,rnn 등), 학습목표(생성, 분류, 요약), 도메인(오픈 도메인 vs 태스크 지향형) 에 따라 달라질 수 있기 때문이다.그래서 이 포스팅에서는 다양한 후보의 대화 데이터셋 형태를 제시해보고자 한다.예를 들어, 대화를 단순히 역할별로 나열할지, 전체 대화를 하나의 시퀀스로 처리할 지에 따라 결과가 달라질 수 있다.참고로, 우리 프로젝트는 라마 3 모델을 사용해서, 사용자의 입력에 맞는 메세지를 생성할 수 있는 것을 목표로 하고,일상대화를..
· ai
인공신경망이란 인간의 뇌를 모방해서 그걸 수학적으로 모델링한 알고리즘입니다. 뇌는 뉴런과 그 연결인 시냅스로 구성되는데, 딥러닝에서는 뉴런이 노드, 노드 사이의 연결 강도를 가중치라고 부릅니다. 인공신경망은 크게 세 가지 층으로 구성이 되는데요.첫 번째로 입력층, 인공 신경망이 데이터를 받는 입력층이 존재합니다.은닉층이 존재하는데, 수많은 노드가 여러 개의 층을 이루면서 그 층을 거치면서 조금 더 복잡하고 비선형적인 문제를 해결할 수 있게 되고요.마지막으로 출력층이 존재하는데 이 출력층은 분류 문제에서 확률을 출력합니다.작동 방식을 살펴보면 먼저 순방향으로 이 입력층부터 출력 층까지 진행을 했다가 다시 이제 이 출력층에서 역전파 과정을 거치게 됩니다.여기서 역전파 과정이란 뒤에서 앞으로 진행하면서 가중치..
· ai
머신러닝과 딥러닝의 가장 큰 차이점은 데이터 처리 방식에 있습니다.머신러닝은 사람이 직접 데이터의 특징을 설계하고 입력하는 과정이 들어갑니다.하지만 딥러닝은 인공 신경망이 자동으로 다량의 데이터여서 특징을 추출합니다.그렇기 때문에 머신러닝은 데이터의 양이 적은 경우에 적합하고, 딥러닝 같은 경우에는 이제 이 다량의 데이터가 확보가 되어야지만 그런 특징을 추출하고 일반화하는 작업이 가능하게 됩니다.
· ai
대규모 언어모델은 일반적인 대화에서  괜찮은 성능을 보여주지만, 회사들은 이 언어모델을 어떻게 특정한 도메인 비즈니스에 적용할 수 있을지 어려움에 직면해 있습니다.따라서 이 포스팅은 Together.ai에서 제공하는 글을 바탕으로 멀티턴 대화를 위해 언어모델을 파인튜닝 하는 방법을 전체적으로 다뤄보려고 한다.Together.ai는 클라우드 기반 학습환경을 기반으로 api를 호출하고 배포하는 형태에 최적화되어 있기 때문에,저와 같이 로컬로 서버 컴퓨터를 세팅해서 학습시키는 분들은 적합하지 않습니다. 그럼에도 불구하고 이것을 포스팅하는 이유는 멀티턴 대화를 학습시키는 전반적인 과정을 이해하기 위함입니다.추후에, 로컬 학습에서 사용할 수 있는 huggingface 상에서 멀티턴 대화 기반으로 파인튜닝하는 방법..
· ai
이미 파인튜닝된 언어모델을 가지고, 감정을 분류하는 과정을 단계적으로 설명하겠습니다.1. 텍스트 입력 처리입력된 자연어 문장을 언어모델이 이해할 수 있는 형태로 변환합니다.토크나이징숫자 id로 변환패딩 및 어텐션 마스크 처리2. 모델 입력 및 통과변환된 입력 데이터를 BERT와 같은 모델에 전달transformer에서 입력한 문장 내의 단어들의 문맥정보를 학습하고 최종 특징 벡터를 생성합니다.임베딩 레이어에서 입력데이터가 토큰 임베딩, 위치 임베딩, 세그먼트 임베딩으로  변환Transformer 인코더에서 attention 매커니즘을 사용해서 각 단어가 문맥적으로 다른 단어와 어떻게 연관되는 지 학습한다트랜스포머 모델(ex. bert, gpt)는 기본적으로 특징 추출기 역할을 합니다. 마지막 인코딩 레이..
· ai
모델 (Model)모델은 특정 문제를 해결하기 위해 설계된 딥러닝 전체의 시스템포괄적인 용어로 특정 상황에 따라 아키텍쳐나 체크포인트(모델의 학습 중간 상태를 저장한 파일)둘다 의미할 수도 있다.구성요소아키텍쳐 : 모델의 구조나 설계도가중치: 학습과정에서 최적화된 파라미터아키텍쳐 (Architecture)모델의 설계 구조레이어(layer)와 노드(node)들이 어떻게 연결되었는지 설명함특정 문제(예: 이미지 분류, 자연어 처리 등)에 적합한 아키텍쳐를 선택해야 한다동일한 아키텍쳐 라고 다른 하이퍼파라미터(예: 뉴런 수, 레이어 수)에 따라 성능이 달라질 수 있음. 가중치(Weights)학습 과정에서 최적화된 매개변수(parameter)로,데이터와 목표(예: 손실 함수의 값을 최소화, 예측값과 실제값 사이..
· ai
트랜스포머란 자연어 처리에서 문장 내 단어들의 연관성을 효과적으로 학습하기 위해 만들어진 딥러닝 모델입니다. 특히, 어텐션 메커니즘과 병렬 처리라는 두 가지 핵심 특징을 가지고 있습니다.먼저 어텐션 메커니즘부터 살펴보면, 어텐션이라는 단어 자체가 “주의”나 “집중”이라는 의미를 가지고 있죠. 이 메커니즘은 문장 내에서 어떤 단어에 더 집중해야 할지 판단하는 역할을 합니다.예를 들어, “나는 오늘 커피를 마셨다”라는 문장에서 “마셨다”라는 동사를 이해하려면 “커피를”이라는 단어에 더 주목해야 합니다. 반면에 “나는”이나 “오늘” 같은 단어는 상대적으로 덜 중요하겠죠.이렇게 어텐션 메커니즘은 문장 내 단어들 간의 연관성을 학습하면서 어떤 단어가 더 중요한지 판단하고, 이를 통해 문맥을 더 정확히 이해합니다...
becky(지은)
'분류 전체보기' 카테고리의 글 목록