전체 글 141

[Langchain] LLM/BitsandBytes 기반 Quantization LLM + Langchain 함께 사용하기

요새 랭체인을 공부중이다.  근데 저에겐 3090 only one,, 당연히 그래서 원랜 서버 대여할랬는데 생각해보니모델이 하도 크니까 quantization 모델들이 많이 나오지 않을까 싶어 찾아봤더니 역시나bitsandbytes도 물론이지만 여러모로 방법이 있는듯했다  각설하고 우선 제가 지나친 과정을 설명해보도록 하겠습니당 !! 1. Dependency 부터 설치!pip install -q -U bitsandbytes!pip install -q -U git+https://github.com/huggingface/transformers.git!pip install -q -U git+https://github.com/huggingface/peft.git!pip install -q ..

NLP 2024.04.24

[백준] 19844 쉬운 계단

1. 문제 https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 2. 풀이 후하후하 이거 어떻게 DP로 풀어야하나 했는데 ㅠㅠ 전혀 검색을 안해서 순전히 내생각으로 해보자면 1) 내가 지나가야하는 숫자들 2) 지나간 숫자들을 같은 인덱스로 또 다음 후보군으로 만났을때 그 수를 저장 이 두가지를 저장하는 느낌으로? 1. 위 말한 저장할 변수 두 가지를 선언한다. (대신 count변수는 첫째자리 바뀔때마다 매번 초기화) 2. 이제 첫째 자리(index=0)부터 시작한다. (1~9만 가능) ==> queue 선언해서 (i, 0) 로 시작 3. next 가 빌때까지 계속..

Algorithm/BOJ 2024.04.19

[프로그래머스] 단어변환

1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 풀이 그림으로 재현하자면 약간 이런느낌입니다. 최단거리니까 역시 BFS로 구현하는데, 1. 만약 target 단어가 words 안에 없으면 그건 안되는 거라 0 반환 2. word안에서 연결리스트로 그래프 딕셔너리 생성하기 3. 생성 기반으로 bfs돌려서 최단거리 확인하기 BFS 문제를 하도 풀다보니까 이젠 간편하다,, ## code ## import collections def ..

[백준] 1987 알파벳

1. 문제 https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 $R$칸, 가로 $C$칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 ($1$행 $1$열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 www.acmicpc.net 2. 풀이 만약 누군가 이걸보신다면 제것도 pypy3로 통과해서 크게 도움되지 않을 수 있습니다 ㅠㅜ 이문제는,, 뭐가 문제인지 모르겠는데 질문게시판 사람들 말로는 dx, dy 좌표 차이로 dfs 내 for문 반복시 zip, enumerate, 4 이런거 차이로도 통과여부가 갈린다 이런말이 있어서 뭐가 문제인지,, 잘 모르겟네요,, 일단 코드 자체는 맞다고 생각합니다. 1...

카테고리 없음 2024.04.15

[백준] 17298 오큰수

1. 문제 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 2. 풀이 사실 이문제는 열심히 풀었는데 계속 시간초과가 났다ㅠ 그래서 도움을 좀 받은,,, 그래도 덕분에 스택을 잘 사용하는 법을 알게됨. 처음엔 그냥 원래 스택 -> 이미 사용한 스택 이렇게 해서 다 검사하게 했는데 생각해보니 뒤에 보낼때 다~~ 검사하는게 아니라 한번이라도 어떤 수보다 작았으면 pop 하면 됐는데ㅠ 그걸몰랐다. 1) NGE, stack 변수를 설정한다. 2) i=n-1부터 돌..

Algorithm/BOJ 2024.04.11

[프로그래머스] h-index

1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42747# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 풀이 ## 내 code ## 1) 내림차순 정렬한다 2) 시작은 제일 큰 citation 3) hindex가 0까지 돌리면서 hindex가 ciations[i] 보다 커지는 순간을 찾는다 ==> 이때 만약 hindex보다 그 citations[i]까지의 길이가 더 길거나 같으면 최대 hindex임 4) 근데 hindex 가 citations 안에 있는 수들보다 작을 수도 있으니 ..

[백준] 2529 부등호

1. 문제 https://www.acmicpc.net/problem/2529 2529번: 부등호 여러분은 제시된 부등호 관계를 만족하는 k+1 자리의 최대, 최소 정수를 첫째 줄과 둘째 줄에 각각 출력해야 한다. 단 아래 예(1)과 같이 첫 자리가 0인 경우도 정수에 포함되어야 한다. 모든 입력 www.acmicpc.net 2. 풀이 1) 숫자를 사용했는지 아닌지 파악하는 visited 변수 설정, max/min 변수 설정 2) bt 함수: 리스트에 숫자 하나는 넣고 시작 ==> 부등호 하나, visited에 방문안했던 (False)인 숫자 가져와서 부등호 만족하는지 확인하고 다음으로 넘김 ==> 만약 다음에 안되는 경우의 수면 더이상 진행안됨 3) idx == n 까지 다오면 그 숫자가 max/min인..

Algorithm/BOJ 2024.04.11