전체 글198 파이썬 바이트 표현 (bytes, bytearray) 개념정리코드 포인트(code point): 각 유니코드 문자에는 고유한 코드포인트(숫자)가 할당되어있습니다. 이 유니코드 하나하나에 매핑되는 숫자를 코드포인트라고합니다. 1:1로 매핑되어있고, 코드포인트를 어떤 인코딩 방식을 하냐에 따라, 문자열이 달라질 수 있습니다.인코딩: 코드포인트를 바이트 시퀀스로 변환하는 규식을 일컫습니다.디코딩: 바이트 시퀀스를 코드포인트로 역변환 하는 규칙을 일컫습니다유니코드(Unicode): 모든 문자를 컴퓨터에서 일관되게 표현하고 다루기 위한 국제 표준입니다. 모든 문자열은 코드포인트를 이용하여, 1:1 매핑되어있습니다. 그리고 유니코드로 표현되는 경우 "U+"라는 접두사를 사용합니다. 코드포인트: 문자와 1:1로 매핑하는 숫자코드포인트는 문자와 1:1로 매핑되는 숫자입니.. 2024. 5. 7. nvidia-driver, cuda toolkit update cuda toolkit 12.1 지원pytorch 2버전이상부터는 cuda toolkit 12.1으로 사용하는게 pip 이나 설치가 편하기에, toolkit 12.1을 설치하려고함.sudo ubuntu-drivers autoinstall cuda toolkit 12.1 installubuntu 공식 도큐먼트(URL)을 따라서 설치하려고함. Trouble shooting 1: package has invalid Support PBheader, cannot determine support levelubuntu 그레픽드라이버 유틸리티인 `ubuntu-drivers list`로 현재 설치가능한 드라이버를 찾다보면 위와 같은 경고를 볼 수 있는 습니다. 아래와 같이 해결했습니다 [URL]. $ sudo apt .. 2024. 5. 3. Pytorch DDP(Distributed Data Parallel), DP(Data Parallel) 비교 총정리 요약 DPDDP모델 복제 오버해드매 반복마다 각 GPU에 모델 복제초기 한번만으로 프로세스에 모델 복제데이터 분산 및 수집Scatter-Gather방식으로 통신비용발생각 프로세스가 독립적으로 작업(통신비용 적음)GILGIL로인해 multi-thread 성능제한GIL문제없음통신비용GPU간 동기화없음GPU 간 All-redeuce 통신비용발생적합한 환경단일 머신멀티노드 DataParallel (DP)DP은 데이터 병렬화 기술 중, 싱글노드에서만 사용할 수 있는 병렬화 기술입니다. DP은 한 프로세스에서만 돌아가기에 "Single process, multi-threaded"입니다. 하나의 프로세스에서 여러 GPU을사용하는 방식입니다. 즉 하나의 프로세스이기 때문에, 모델과 데이터를 한 번만 메모리에 로드하고,.. 2024. 5. 3. [5분 컷 리뷰] DINO: Emerging Properties in Self-Supervised Vision Transformers IntroductionNLP분야에서는 masked language라는 사전학습 전략으로 Transformer가 매우 인기를 끌었습니다. 반면, 비전테스크에서는 CNN의 대안으로 ViT가 쓰이는 것 같지만, 아직까지는 계산비용도 크고, 데이터도 많이필요해서 큰 이점을 못 얻고 있었습니다. 이 논문은 자기지도학습(Self-supervised learning)이라는 사전학습을 방법론을 이용해서, 비전테스크에서도 성공적인 사전학습을 할 수 있을지, 그리고 그 방법을 제시합니다. 언어문제에서는 self-supervised learning의 pretext task로 masked language 을 진행합니다. 반면, 이미지 분류문제에서는 풍부한 이미지의 정보(예, 형태, 컬러 등)이 이미지에 포함되어 있습니다. 그.. 2024. 4. 25. [5분 컷 리뷰] Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics 요약 Multi-task learning은 연관된 복수의 테스크를 하나의 모델에 학습시키면서, 추가적으로 성능이 올라갈 수 있어 종종 사용됩니다. 이 논문에서는 Multi-task learning시에 복수의 테스크들의 밸런스를 어떻게 주어야하는지, 불확실성(Uncertainity)을 기반으로 방법론을 제시합니다. 이 논문에서는 불확실성을 타나낼 수 있는 학습가능한 파라미터를 제시해서 손실함수에 함께 사용합니다. Multi-task deep learning 아래의 이미지는 한 이미지로부터 서로 다른 3가지의 테스크을 수행하고, 3테스크의 손실함수를 합하여 최적화하는 일반적인 방법론입니다. 멀티테스크러닝(MTL)은 이런 유사한 테스크를 함께 사용하는 경우 하나의 테스크만 사용하는 것보다 더 높은 성능을 보일.. 2024. 4. 22. [5분 안에 이해하는] 프롬프트 엔지니어링 핵심기법: Few shot ,CoT, SC, ReACT, RAG 프롬프트 엔지니어링 프롬프트 엔지니어링은 거대한 언어 모델을 사용하여 특정 작업이나 질문에 대한 원하는 출력을 얻기 위해 입력 프롬프트를 조정하는 과정을 말합니다. 이는 모델의 출력을 조정하고 원하는 유형의 답변을 생성하기 위해 입력 텍스트의 형식, 콘텍스트(맥락), 질문의 구조 등을 조정하는 것입니다. 즉, 프롬프트 엔지니어링은 거대언어모델(LLM)에 원하는 출력을 얻기 위해 입력 프롬프트를 조작하는 기술입니다. 이 글을 Prompting guide의 내용을 좀 더 쉽게 풀어쓴 글입니다. In-context learning (ICL) 인컨텍스트 러닝(In-context learning)은 모델이 주어진 프롬프트 내의 예시에서의 학습을 하는 것을 의미합니다. 즉, 파인튜닝(미세조정)과 다르게, "런타임(.. 2024. 4. 15. 이전 1 ··· 8 9 10 11 12 13 14 ··· 33 다음