전체 글83 (4) 학습진행 - 1 2024. 12. 5. (2) 필요한 라이브러리 세팅 토크나이저 생성모델 매개변수 양자화 ( 메모리 절감 ) - bitsandbytes 경량화 - peft모델 로딩 / 업로드 - transformers ( hugging face )데이터셋 로드 - datasets 학습 - trl추론 - pipeline로깅 - logging 학습현황 업로드 - streamlit (py) 참고할 글[Python] Llama3를 파인튜닝을 통해 나만의 데이터로 학습 및 Huggingface에 적재해보자. - 미완성의신 [Python] Llama3를 파인튜닝을 통해 나만의 데이터로 학습 및 Huggingface에 적재해보자. - 미완성의신파인튜닝을 통해 나만의 데이터를 학습 시켜 보자. 그전에 파인튜닝에 대해 알아 봐야 하는데, 아주 간단하게 알아보자. 파인튜닝에 대한 이론들은 .. 2024. 12. 5. (1) 큰 과정 GPU 서버에 SSH로 연결해서 파인튜닝을 진행하는 과정은 크게 다음 과정을 따른다.[서버접속] - [환경설정] - [데이터업로드] - [모델 훈련실행] 1. SSH로 GPU 서버에 접속한다. 22번 포트 사용을 디폴트로 생각한다.ssh 사용자이름@서버주소// ssh user@gpu-server.com 2. 파인튜닝에 필요한 환경을 준비한다. 필요한 소프트 웨어를 확인한다.ㄴ gpu 드라이버를 설치한다. ex) nvidia 드라이버ㄴ 딥러닝 라이브러리 설치 ( CUDA, CUDNN )CUDA - CUDA Toolkit Archive | NVIDIA Developer CUDA Toolkit ArchivePrevious releases of the CUDA Toolkit, GPU Computing SDK, .. 2024. 12. 5. Suspense와 ErrorBoundary ErrorBoundary- 컴포넌트의 에러처리를 위함- 하위 컴포넌트 트리에서 발생하는 JavaScript 에러를 포착하여 어플리케이션이 전체적으로 중단되지 않도록 하고, 대신 fallback UI를 표시한다. 이를 통해서 특정 컴포넌트에서 발생한 에러가 전체 UI에 영향을 주지 않도록 격리한다. Suspense- 비동기 로딩상태 관리를 위함- 비동기 작업이 완료될 때까지 대기하는 동안 fallback ui를 표시하는 컴포넌트이다. ErrorBoundary와 Suspense를 같이 사용할때 - Suspense는 비동기 작업의 로딩 상태를 관리하지만, 해당 작업 중에 에러가 발생하면 이를 처리할 수 없다. - 이 때 ErrorBoundary를 함께 사용하여 에러를 포착하고 적절한 폴백 UI 를 제공한.. 2024. 12. 3. useEffect와 setState의 배치 처리 사실 저번에도 올린 글이었는데, 다시 올린다. 리액트는 state가 바뀔 때마다 가상돔 비교를 통해서 화면을 다시 그린다. 그렇다면 setState 될 때마다 화면이 다시 그려진다는 것인가? 그렇다. 그렇다면 setState가 많이 호출될 때마다 비효율적으로 동작할 수 있다는 건가? 그렇다. 하지만 꼭 필요한 setState는 당연히 써야겠지만, 대부분 아닌 경우가 많다. 첫번째, 이벤트에 발생할 때 원하는 동작을 수행하게 하고 싶은 경우때문에 예를 들어서 스크롤을 할때마다 어떠한 동작을 하고 싶다고 하면 그냥 이벤트 리스너를 추가하는 것이 아니라, 꼭 '디바운싱' 처리를 해야한다. 디바운싱이란, N초 안에 1000번의 같은 이벤트가 발생하면, 해당 이벤트 리스너에 묶인 동작을 1000번 실행하는 .. 2024. 12. 3. useTransition * 여러 출처를 사용하였으며, 하단에 출처를 첨부합니다. Form 제출 -> API 요청 -> 응답 처리 -> UI 반영기존의 리액트에서는 대기상태 pending states, 오류 errors, 낙관적업데이트 optimistic updates, 연속요청 sequential requests 를 수동으로 처리하였다. 예를 들어서 이런 코드가 있다고 쳐보자. function UpdateName(){ const [name, setName] = useState(''); const [error, setError] = useState(null); const [isPending, setIsPending] = useState(false); const handleSubmit = async() .. 2024. 12. 3. 훈련손실, 검증 손실, 미세조정(파인튜닝), 학습률배수, 배치크기, 에폭수 * 훈련 손실 Train Loss모델이 훈련 데이터에 대해 예측한 값과 실제 값의 차이를 나타내는 지표모델이 훈련 데이터에 얼마나 잘 맞추는지를 평가- 훈련이 진행됨에 따라서 일반적으로 감소한다.- 훈련 손실이 낮을수록 모델이 훈련 데이터에 잘 맞추고 있음을 의미한다. * 검증 손실 Validation Loss훈련 중 모델의 일반화 능력을 평가하기 위해서 사용되는 별도의 검증 데이터셋에 대한 손실값모델이 보지 못한 데이터에 대해서 얼마나 잘 예측하는지를 평가- 훈련 초기에는 감소하다가 과적합 OverFitting이 발생하면 다시 증가할 수 있음- 훈련 손실과 검증 손실의 차이가 커지면 과적합을 의심해볼 수 있음 * 학습률 배수 Learning Rate Multiplier기본 학습률에 곱해지는 값으로, 모.. 2024. 11. 27. C#에서의 http 요청/응답/사용 Http Get 요청public async Task SendHttpGet(string url){ try{ using(HttpClient client = new HttpClient()){ HttpResponseMessage response = await client.GetAsync(url); response.EnsureSuccessStatusCode(); string responseBody = await response.Content.ReadAsStringAsync(); return responseBody; } }catch(Exception e){ Console.WriteLine(.. 2024. 11. 19. 퀀트 코드 뜯어보기 import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport requests pandas : 데이터 조작 및 분석을 위한 라이브러리numpy : 수치 연산을 위한 라이브러리matplotlib.pyplot : 데이터 시작화를 위한 라이브러리requests : http 요청을 보내기 위한 라이브러리 def fetch_crypto_data(coin_id, vs_currency, days): """ CoinGecko API를 사용하여 암호화폐의 과거 가격 데이터를 수집합니다. Parameters: - coin_id: 암호화폐의 ID (예: 'bitcoin') - vs_currency: 비교 통화 (예: 'usd'.. 2024. 11. 18. 왜 BrowserRouter는 새로고침하면 404 에러가 뜰까 우리가 페이지에 방문한다는 것은 해당 페이지의 url에다가 index.html 혹은 렌더링할 무언가를 달라고 GET 요청을 보내는 것을 뜻합니다. 근데, 해당 URL에 해당하는 곳에 원하는 것이 없다면 Not Found 404 에러가 뜨는 것이죠. 리액트로 개발을 하면 보통 처음에 BrowserRouter를 많이 씁니다. 개발할때는 새로고침해도 괜찮지만, 배포한 이후에는 새로고침하면 404에러가 뜨게 되요. 왤까요? 리액트 개발서버 ( create-react-app의 개발서버 ) 는 모든 경로에 대한 요청을 자동으로 index.html로 리다이렉트 해줍니다. 즉, 브라우저에서 어떤 경로로 접근하든 개발 서버는 항상 리액트 어플리케이션의 진입점인 index.html 을 제공해주죠. 그러니까 no.. 2024. 11. 17. 이전 1 2 3 4 5 ··· 9 다음