자기회귀 모델 (Autoregressive Model)
이전에 만든 출력을 다시 입력으로 사용해 다음 출력을 예측하는 모델
자세히 보기SEARCH THE WIKI
용어, 오늘의 카드, 검증된 프롬프트를 한 번에 찾아보세요.
전체 콘텐츠69개
이전에 만든 출력을 다시 입력으로 사용해 다음 출력을 예측하는 모델
자세히 보기자주 등장하는 글자 조합을 점진적으로 합쳐 어휘를 만드는 토큰화 기법
자세히 보기미래 토큰을 미리 참조하지 못하게 마스킹하는 어텐션 방식
자세히 보기모델이 예측한 확률과 실제 정답 사이의 차이를 측정하는 손실 함수
자세히 보기훈련 중 은닉층의 일부 유닛을 임의로 꺼서 과대적합을 막는 정규화 기법
자세히 보기트랜스포머 블록 안에서 각 토큰을 독립적으로 변환하는 완전 연결 층
자세히 보기모델이 외부 함수를 호출하는 기능
자세히 보기각 층의 출력값 분포를 평균 0, 분산 1 근처로 맞춰 훈련을 안정시키는 기법
자세히 보기원본 가중치는 그대로 두고 작은 저순위 행렬만 추가로 학습하는 효율적인 미세 튜닝 기법
자세히 보기이전 단계의 출력을 다음 단계의 입력으로 사용하는, 트랜스포머 이전의 순차 처리 신경망
자세히 보기층의 입력을 출력에 그대로 더해 깊은 신경망의 기울기 소실을 완화하는 기법
자세히 보기확률이 가장 높은 k개의 후보 안에서만 다음 단어를 무작위로 고르는 방법
자세히 보기임베딩을 저장·검색하는 데이터베이스
자세히 보기너는 딥러닝 프레임워크에 정통한 시니어 엔지니어야. 아래 코드는 내가 밑바닥부터 구현해본 {{구현한 대상, 예: 셀프 어텐션 클래스}}야. 1) 텐서 차원이 각 단계에서 어떻게 바뀌는지 줄 단위로 추적해서 알려줘 2) 버그나 비효율적인 부분이 있으면 구체적인 줄 번호와 함께 지적해줘
자세히 보기나는 LLM을 {{목표 작업, 예: 사내 문서 기반 Q&A}}에 맞게 지시 미세 튜닝하고 싶어. 아래 조건을 참고해서 instruction/input/output 형식의 JSON 데이터 샘플 5개를 만들어줘. 실제 사용 사례를 다양하게 섞어줘. 조건: {{예: 한국어, 답변은 3문장
자세히 보기아래 모델 구조를 입력부터 출력까지 순서대로, 텍스트 박스와 화살표(→)만 사용한 다이어그램으로 그려줘. 각 블록 옆에는 입력/출력 텐서의 대략적인 크기도 함께 적어줘. 모델: {{예: GPT-2 small, 트랜스포머 블록 12개}}
자세히 보기다음 요구사항을 만족하는 정규식을 만들어줘: {{requirement}}
자세히 보기다음 요청을 SQL 쿼리로 변환해줘: {{question}} (스키마: {{schema}})
자세히 보기다음 함수에 대한 유닛 테스트를 작성해줘: {{function}}
자세히 보기GPT는 왼쪽에서 오른쪽으로 한 단어씩 글을 씁니다. 만약 훈련 중에 미래 단어를 미리 볼 수 있다면 '커닝'을 하는 셈이라 실전에서는 못 쓰는 모델이 됩니다. 코잘 어텐션은 미래 위치의 점수를 음의 무한대로 가려서 이 커닝 자체를 원천 차단합니다.
자세히 보기층을 아주 깊게 쌓으면 학습 신호(기울기)가 앞쪽까지 전달되다가 사라져버리는 문제가 생깁니다. 숏컷(잔차) 연결은 입력을 몇 개 층 건너뛰어 출력에 그대로 더해주는 지름길을 놔줘서, 신호가 끊기지 않고 끝까지 전달되게 합니다.
자세히 보기LLM 전체를 다시 훈련하려면 원본 모델만큼 큰 메모리가 필요합니다. LoRA는 원래 가중치는 그대로 얼려두고, 그 옆에 붙인 아주 작은 저순위 행렬 한 쌍만 학습해서 개인용 GPU로도 미세 튜닝을 가능하게 만든 기법입니다.
자세히 보기2023년 공개된 추론 프레임워크예요. KV 캐시를 페이지 단위로 관리해 메모리를 효율적으로 써요. 동시 요청 처리량이 높아요.
자세히 보기배포 후 입력 데이터의 분포가 바뀌면 품질이 떨어질 수 있어요. 입력과 출력을 정기적으로 점검해야 해요. 변한 데이터를 재학습에 쓰는 게 일반적입니다.
자세히 보기큰 모델의 출력을 작은 모델이 배웁니다. 출력은 품질 좋고 비용이 적게 드는 모델로 바뀌어요. 서비스 비용 최적화에 쓰입니다.
자세히 보기에이전트는 여러 단계로 실행되므로 각 단계를 봐야 해요. 실패한 단계를 찾아야 디버깅이 가능합니다. 실행 추적과 로깅 설계가 필수입니다.
자세히 보기2022년 제안된 기법으로 어텐션 계산을 블록 단위로 나눠 메모리를 줄여요. 2023년 FlashAttention-2가 더 효율적인 버전을 냈어요. 대규모 모델 추론의 표준이 됐습니다.
자세히 보기출력 확률의 기울기를 맞춰 신뢰도를 높이는 기법이에요. 분류 모델의 확률이 실제로 맞는지 판단할 때 필요합니다. 추측 확정이 중요한 과제를 위해 존재합니다.
자세히 보기32비트 실수수를 8비트, 4비트로 낮추면 메모리가 줄어요. 정밀도 손실이 없지만 대부분은 품질을 유지합니다. 추천 메모리에서 성능을 좌우하는 기술입니다.
자세히 보기모델 안의 여러 회로 중 일부만 활성화하는 구조예요. 전체 파라미터는 크지만 한 번에 쓰는 건 적어요. 비용 대비 성능이 좋은 설계죠.
자세히 보기요청이 끝나면 그 자리에 새 요청을 넣어서 GPU를 비워두지 않아요. 처리량이 크게 올라요. 대규모 추론 서비스의 기본 설계입니다.
자세히 보기가중치 중 기여가 낮은 부분을 없애 모델을 줄입니다. 연산이 빨라지고 메모리가 줄어요. 적절한 기준을 찾는 게 핵심이에요.
자세히 보기이미 계산한 어텐션 결과를 기억해 다시 계산하지 않습니다. 자기회귀 생성의 속도 병목을 줄여요. 메모리 점유가 큰 원인이 되기도 해요.
자세히 보기첫 토큰까지의 시간이 사용자 경험을 결정합니다. 전체 처리 시간보다 이 지연이 중요해요. 서버 측 큐잉과 배치 전략이 이 지연을 좌우합니다.
자세히 보기학습률이 크면 발산하고 작으면 느려요. 학습률을 줄여가는 스케줄이 일반적이에요. 초기엔 크게, 후반엔 작게 조절합니다.
자세히 보기원래 가중치는 그대로 두고 작은 행렬만 학습합니다. 메모리와 비용이 크게 줄어요. 개인용 GPU로도 미세 튜닝이 가능해졌습니다.
자세히 보기32비트가 아닌 16비트로 계산하면 메모리와 속도가 좋아져요. fp16, bf16가 대표적이에요. 안정성은 그대로 유지하면서 효율을 올리죠.
자세히 보기작고 빠른 모델이 여러 후보 토큰을 만들고 큰 모델이 한꺼번에 검증합니다. 검증된 토큰만 채택하므로 큰 모델의 출력 분포를 유지할 수 있어요. 초안 모델과 하드웨어 조건이 맞으면 생성 지연을 줄일 수 있습니다.
자세히 보기2022년 공개된 학습 후 양자화 기법이에요. 가중치를 3비트나 4비트 등으로 줄여 메모리 사용량을 낮춥니다. 정확도 손실은 모델과 설정마다 달라서 실제 작업으로 평가해야 합니다.
자세히 보기이전 방향을 누적해서 업데이트하면 진동을 줄여요. 이 방향으로 빠른 수렴이 가능해요. SGD의 기본 옵션입니다.
자세히 보기한 번에 몇 개의 데이터로 모델을 업데이트할지를 정합니다. 크면 기울기가 안정적이지만 메모리가 커요. GPU 메모리에 맞는 크기를 찾아야 합니다.
자세히 보기NVIDIA GPU에서 모델을 최적화하는 도구예요. 레이어 합성과 양자화로 추론 속도를 올려요. 서버 배포에서 많이 쓰여요.
자세히 보기일정 간격으로 모델과 옵티마이저 상태를 저장하면 중단 뒤에도 훈련을 이어갈 수 있어요. 긴 훈련에서 장애 복구와 모델 비교에 중요합니다. 완전한 재현이 필요하면 난수 상태와 데이터 순서도 함께 저장해야 합니다.
자세히 보기하나의 층을 여러 GPU로 나눠서 계산합니다. 모델이 커지면 이 방식이 필요해요. GPU 간 통신이 많이 필요하죠.
자세히 보기여러 프레임워크에서 모델 포맷을 공유하는 표준이에요. PyTorch, TensorFlow에서 변환하면 다른 엔진에서 돌릴 수 있어요. 추론 최적화의 출발점이 됩니다.
자세히 보기2023년 공개된 오픈소스 라이브러리예요. GPU 없이 CPU에서도 추론이 가능해요. GGUF 포맷을 지원합니다.
자세히 보기2014년 공개된 Adam은 학습률을 파라미터별로 조절하는 최적화 알고리즘입니다. 기울기의 일차·이차 모멘트 추정치를 함께 사용해요. 여러 딥러닝 작업에서 널리 쓰이지만 항상 최선인 것은 아닙니다.
자세히 보기llama.cpp에서 쓰는 파일 포맷이에요. 양자화 정보를 파일 안에 담아요. 모델 공유와 배포에 널리 쓰입니다.
자세히 보기여러 단계로 실행되므로 어디서 실패했는지 찾기 어려워요. 각 단계의 입력과 출력을 기록해야 해요. 이 로그가 없으면 버그를 찾을 수 없어요.
자세히 보기2023년 공개된 기법이에요. 주요 가중치를 보호하면서 4비트로 압축합니다. GPTQ와 함께 오픈소스 모델 양자화의 표준이 됐어요.
자세히 보기GPU 여러 대가 각각 다른 데이터로 같은 모델을 훈련하고 그라디언트를 합칩니다. 데이터가 크면 이 방식이 가장 효율적이에요. 통신이 병목이 될 수 있어요.
자세히 보기2023년 공개된 추론 프레임워크예요. KV 캐시를 페이지 단위로 관리해 메모리를 효율적으로 써요. 동시 요청 처리량이 높아요.
자세히 보기에이전트의 반복 실행과 도구 호출을 다루는 프레임워크예요. 오류 처리와 로그를 함께 설계해야 합니다. 프레임워크 자체는 단순하며, 설계 판단은 우리의 몫이에요.
자세히 보기배포 후 입력 데이터의 분포가 바뀌면 품질이 떨어질 수 있어요. 입력과 출력을 정기적으로 점검해야 해요. 변한 데이터를 재학습에 쓰는 게 일반적입니다.
자세히 보기큰 모델의 출력을 작은 모델이 배웁니다. 출력은 품질 좋고 비용이 적게 드는 모델로 바뀌어요. 서비스 비용 최적화에 쓰입니다.
자세히 보기에이전트는 여러 단계로 실행되므로 각 단계를 봐야 해요. 실패한 단계를 찾아야 디버깅이 가능합니다. 실행 추적과 로깅 설계가 필수입니다.
자세히 보기2022년 제안된 기법으로 어텐션 계산을 블록 단위로 나눠 메모리를 줄여요. 2023년 FlashAttention-2가 더 효율적인 버전을 냈어요. 대규모 모델 추론의 표준이 됐습니다.
자세히 보기출력 확률의 기울기를 맞춰 신뢰도를 높이는 기법이에요. 분류 모델의 확률이 실제로 맞는지 판단할 때 필요합니다. 추측 확정이 중요한 과제를 위해 존재합니다.
자세히 보기32비트 실수수를 8비트, 4비트로 낮추면 메모리가 줄어요. 정밀도 손실이 없지만 대부분은 품질을 유지합니다. 추천 메모리에서 성능을 좌우하는 기술입니다.
자세히 보기모델 안의 여러 회로 중 일부만 활성화하는 구조예요. 전체 파라미터는 크지만 한 번에 쓰는 건 적어요. 비용 대비 성능이 좋은 설계죠.
자세히 보기요청이 끝나면 그 자리에 새 요청을 넣어서 GPU를 비워두지 않아요. 처리량이 크게 올라요. 대규모 추론 서비스의 기본 설계입니다.
자세히 보기가중치 중 기여가 낮은 부분을 없애 모델을 줄입니다. 연산이 빨라지고 메모리가 줄어요. 적절한 기준을 찾는 게 핵심이에요.
자세히 보기이미 계산한 어텐션 결과를 기억해 다시 계산하지 않습니다. 자기회귀 생성의 속도 병목을 줄여요. 메모리 점유가 큰 원인이 되기도 해요.
자세히 보기첫 토큰까지의 시간이 사용자 경험을 결정합니다. 전체 처리 시간보다 이 지연이 중요해요. 서버 측 큐잉과 배치 전략이 이 지연을 좌우합니다.
자세히 보기학습률이 크면 발산하고 작으면 느려요. 학습률을 줄여가는 스케줄이 일반적이에요. 초기엔 크게, 후반엔 작게 조절합니다.
자세히 보기원래 가중치는 그대로 두고 작은 행렬만 학습합니다. 메모리와 비용이 크게 줄어요. 개인용 GPU로도 미세 튜닝이 가능해졌습니다.
자세히 보기32비트가 아닌 16비트로 계산하면 메모리와 속도가 좋아져요. fp16, bf16가 대표적이에요. 안정성은 그대로 유지하면서 효율을 올리죠.
자세히 보기작고 빠른 모델이 여러 후보 토큰을 만들고 큰 모델이 한꺼번에 검증합니다. 검증된 토큰만 채택하므로 큰 모델의 출력 분포를 유지할 수 있어요. 초안 모델과 하드웨어 조건이 맞으면 생성 지연을 줄일 수 있습니다.
자세히 보기2022년 공개된 학습 후 양자화 기법이에요. 가중치를 3비트나 4비트 등으로 줄여 메모리 사용량을 낮춥니다. 정확도 손실은 모델과 설정마다 달라서 실제 작업으로 평가해야 합니다.
자세히 보기