한 권으로 LLM 온라인 스터디 1기 Day_3 - 멀티헤드 어텐션 & 피드포워드, Blocks
·
DL/LLM&RAG
https://product.kyobobook.co.kr/detail/S000214934825 한 권으로 끝내는 실전 LLM 파인튜닝 | 강다솔 - 교보문고한 권으로 끝내는 실전 LLM 파인튜닝 | 실무 현장에서 꼭 필요한 파인튜닝, PEFT, vLLM 서빙 기술을 직접 실습하면서 배워 보자!AI 기술의 최전선에서 배우는 LLM 파인튜닝의 모든 것! 이론적 토대부터product.kyobobook.co.kr "한 권으로 끝내는 실전 LLM 파인튜닝" 교재를 활용해 3주(주말 제외) 동안 진행 되는 온라인 스터디 이전 포스팅 글과 이어지는 내용입니다.https://minhyuk0914.tistory.com/26 한 권으로 LLM 온라인 스터디 1기 Day_2 - 기본 언어 모델의 구조 및 언어 모델 구현ht..
한 권으로 LLM 온라인 스터디 1기 Day_2 - 기본 언어 모델의 구조 및 언어 모델 구현
·
DL/LLM&RAG
https://product.kyobobook.co.kr/detail/S000214934825 한 권으로 끝내는 실전 LLM 파인튜닝 | 강다솔 - 교보문고한 권으로 끝내는 실전 LLM 파인튜닝 | 실무 현장에서 꼭 필요한 파인튜닝, PEFT, vLLM 서빙 기술을 직접 실습하면서 배워 보자!AI 기술의 최전선에서 배우는 LLM 파인튜닝의 모든 것! 이론적 토대부터product.kyobobook.co.kr "한 권으로 끝내는 실전 LLM 파인튜닝" 교재를 활용해 3주(주말 제외) 동안 진행 되는 온라인 스터디1. 언어 모델의 기본 개념언어 모델은 주어진 텍스트 데이터를 입력받아 다음 단어, 문장 또는 구를 예측하는 확률 기반 시스템(모델)이다. 이를 위해 모델은 텍스트 데이터를 연속적인 시퀀스로 분할(e..
[백준/Python] 1003. 피보나치 함수
·
CODING_TEST
※ 문제https://www.acmicpc.net/problem/21318 ※ 문제 유형다아니믹 프로그래밍 (SILVER_3)※ 나의 풀이다아니믹 프로그래밍 풀이2차원 DP각 피보나치 숫자를 구하는 과정에서 0 호출 횟수 와 1 호출 횟수를 저장피보나치 공식인 fibo(x) = fibo(x -2) + fibo(x - 1)를 이용해 호출 횟수를 누적 계산 DP 배열 구조 :  dp[i]  =  [0 호출 횟수, 1호출 횟수]import sysT = int(sys.stdin.readline())cases = []for _ in range(T): cases.append(int(sys.stdin.readline()))# dp = [[0, 0]] * (40 + 1) X # -> 가변 객체를 담을 경우 같은 ..
한 권으로 LLM 온라인 스터디 1기 Day_1 - 런팟"RunPod" 소개 및 활용
·
DL/LLM&RAG
https://product.kyobobook.co.kr/detail/S000214934825 한 권으로 끝내는 실전 LLM 파인튜닝 | 강다솔 - 교보문고한 권으로 끝내는 실전 LLM 파인튜닝 | 실무 현장에서 꼭 필요한 파인튜닝, PEFT, vLLM 서빙 기술을 직접 실습하면서 배워 보자!AI 기술의 최전선에서 배우는 LLM 파인튜닝의 모든 것! 이론적 토대부터product.kyobobook.co.kr"한 권으로 끝내는 실전 LLM 파인튜닝" 교재를 활용해 3주(주말 제외) 동안 진행 되는 온라인 스터디RunPod: 클라우드 기반 GPU 서버의 새로운 선택지인공지능(AI)과 머신러닝(ML) 프로젝트를 진행하다 보면 고성능 GPU가 필요할 때가 많다. 하지만 개인 PC나 랩톱에서는 충분한 성능을 내기 ..
[백준/Python] 21318. 피아노 체조
·
CODING_TEST
※ 문제https://www.acmicpc.net/problem/21318 ※ 문제 유형누적합 (SILVER_1)※ 나의 풀이슬라이싱을 활용한 풀이 -> 시간 초과누적합으로 해결실수 여부 판단 리스트 mistake 배열 생성누적합 배열 생성 (mistake 배열 활용)질문 Q 처리 import sysN = int(sys.stdin.readline())li = [0] + list(map(int, sys.stdin.readline().split()))# 실수 여부 판단 리스트 생성mistake = [0] * N # 0부터 시작, 길이는 Nfor i in range(1, N): # 인접한 요소 비교 if li[i] > li[i + 1]: mistake[i] = 1# 누적합 계산s_num ..
[백준/Python] 2805. 나무 자르기
·
CODING_TEST
※ 문제https://www.acmicpc.net/problem/2805※ 문제 유형이분 탐색, 매개 변수 탐색 (SILVER_2)※ 나의 풀이이분 탐색으로 문제 해결N, M의 입력 제한이 범위가 크므로, 시간 복잡도 고려 필수import sysN, M = map(int, sys.stdin.readline().split())trees = list(map(int, sys.stdin.readline().split()))trees.sort()low, high = 1, trees[-1] #max(trees) - 시간 초과ans = 0while low mid: total += tree - mid if total >= M: ans = mid low = mid + ..
[백준/Python] 14916. 거스름돈
·
CODING_TEST
※ 문제https://www.acmicpc.net/problem/14916※ 문제 유형수학, 다이나믹 프로그래밍, 그리디 알고리즘(SILVER_5)※ 나의 풀이DP로 문제 해결import sys N = int(sys.stdin.readline())dp = [-1] * (N + 1)if N >= 2: dp[2] = 1if N >= 4: dp[4] = 2if N >= 5: dp[5] = 1# DP 계산for i in range(6, N + 1): if dp[i - 2] != -1: # 2원을 추가할 수 있는 경우 dp[i] = dp[i - 2] + 1 if dp[i - 5] != -1: # 5원을 추가할 수 있는 경우 if dp[i] == -1:..
[백준/Python] 9095. 1, 2, 3 더하기
·
CODING_TEST
※ 문제https://www.acmicpc.net/problem/9095※ 문제 유형다이나믹 프로그래밍 (SILVER_3)※ 나의 풀이DP로 문제 해결4를 1, 2, 3으로 표현하는 방법 7가지1 + 1 + 1 + 11 + 1 + 21 + 2 + 12 + 1 + 12 + 21 + 33 + 15를 1, 2, 3으로 표현하는 방법4에서 1을 더하는 방법(7가지)3에서 2를 더하는방법2에서 3을 더하는 방법6을 1, 2, 3으로 표현하는 방법5에서 1을 더하는 방법4에서 2를 더하는 방법3에서 3을 더하는 방법dp[N] = dp[N-1] + dp[N-2] + dp[N-3]import sysT = int(sys.stdin.readline())case = []for i in range(T): case.app..
[백준/Python] 1463. 1로 만들기
·
CODING_TEST
※ 문제https://www.acmicpc.net/problem/1463※ 문제 유형다이나믹 프로그래밍 (SILVER_3)※ 나의 풀이DP로 문제 해결import sysN = int(sys.stdin.readline())dp = [0] * (N + 1)dp[1] = 0for i in range(2, N + 1): # 이전 index의 값 + 1(1을 뺀다는 규칙)으로 저장 dp[i] = 1 + dp[i - 1] # 3으로 나누어 떨어지면 3으로 나누고, dp[i] 중 최솟값으로 저장 if i % 3 == 0: dp[i] = min(dp[i], 1 + dp[i // 3]) # 2으로 나누어 떨어지면 2으로 나누고, dp[i] 중 최솟값으로 저장 if i % 2 ..
[백준/Python] 5525. IOIOI
·
CODING_TEST
※ 문제https://www.acmicpc.net/problem/5525※ 문제 유형문자열 (SILVER_1)※ 나의 풀이시간 복잡도를 고려하지 않고, index slicing을 통해 문제 해결 하였을 시, 50점import sysN = int(sys.stdin.readline())M = int(sys.stdin.readline())S = sys.stdin.readline()find_s = 'IOI' + 'OI' * (N-1)ans = 0idx = 0while idx 시간 복잡도를 고려하여, 인덱스 슬라이싱을 진행할 때, 중복된 IOI를 체크해야 하는 과정을 줄이기 위하여 다른 방안 채택투 포인터 알고리즘 고려import sysN = int(sys.stdin.readline())M = int(sys.st..