본문 바로가기
반응형

Bigdata14

허깅페이스(huggingface) - transformers등 기본 모델 위치 허깅페이스에서 다운로드를 하다보면, 기본적으로 모델이 어디에 다운로드 받아지는 확인이 필요하다.기본설정은 로그인한 사용자 하위의 .cache\huggingface 의 hub 경로에 모델이 다운로드 되어진다.C:\Users\\.cache\huggingface\hub 만약 별도의 경로로 변경하고자 한다면, 환경 변수를 등록해야 하는데, HF_HOME 이라는 환경 변수를 만들어서 원하는 경로를 설정해주도록 하자. HF_HOME 윈도우 기준으로 시작을 누르고 시스템을 입력하면, 자동으로 시스템 환경 변수 편집을 확인 할 수 있다.아래와 같이 환경 변수를 눌려서 새로 만들기을 진행하면, 나만의경로로 허깅 페이스 모델을 관리할 수 있게 된다.사용자 변수는 로그인한 사용자에게만 적용되며, 시스템 변수는 컴퓨터 전체에.. 2024. 6. 10.
머신러닝 - K-최근접 이웃 회귀(KNN Regression) 알고리즘 특징과 코드 k-최근접 이웃 회귀(KNN Regression)은 새로운 데이터의 출력 값을 예측하기 위해 훈련 데이터의 출력 값과 가장 가까운 k개의 데이터를 사용합니다. k는 사용자 설정 매개변수이며, 값이 작을수록 더 많은 데이터를 고려하게 되고, 값이 클수록 더 적은 데이터를 고려하게 됩니다.k-최근접 이웃 회귀 알고리즘은 훈련 데이터에서 새로운 데이터와 가장 가까운 k개의 데이터를 찾아서, 해당 k개의 데이터의 출력 값을 평균하여 새로운 데이터의 출력 값을 예측하는 방식이다.k는 예측에 사용된 최근접 이웃 갯수로 만약 3개으로 하였다면, 3개의 최근접 이웃의 데이터를 통해 값을 예측한다. y(x) = \frac{\sum_{i=1}^k y_i^k}{k}- y(x)는 새로운 데이터 x의 출력 값을 예측한 값- y.. 2024. 6. 8.
머신러닝 - 결정계수와 과대/과소적합 결정계수(R)머신러닝에서 결정계수는 대표적인 회귀 문제의 성능 측정 으로 사용된다.결정계수를 사용하는 이유는,  회귀의 테스트를 진행할 때 정확 한 숫자를 맞추기는 어렵기 때문에, 예측값과 목표값의 평균을 통해 예측값이 목표값에 얼마나 가까운지를 확인하여 평가하게 된다. 공식은 복잡해 보이지만, 예측값과 실제 값의 차이를 1과 0 사이의 값으로 표현한 것이라고 이해하면 좋을 듯 하다.1에 가까울 수록 좋고, 0에 가까울 수록 성능이 나쁜 모델이라고 할 수 있다.과대/과소적합과대적합과 과소적합은, 훈련 세트와 테스트 세트간 문제점을 얘기할 때 많이 사용되는 용어이다.과대적합은 학습 데이터가 복잡해지면 발생할 수 있는데, 이유는 학습 데이터의 모든 세부 사항을 학습하게 되는데, 이렇게 되면 학습 데이터의 노.. 2024. 6. 8.
머신러닝/딥러닝 - 무료 ChatGPT/Local LLM 웹 인터페이스 Top 7 OpenAI의 ChatGPT/LLM과 같은 서비스를 개발/학습할 때 Gradio를 이용해서 간단히 만들 수 도 있지만, 이보다 OpenAI와 같은 웹 인터페이스를 제공하는 멋진 템플릿을 활용 할 수 있어서 여기에 5가지 현재 잘나가는 무료 ChatGPT/Local LLM 웹 인터페이스 를 소개해 보고자 한다.0. Gradio text-generation-webuiDownload https://github.com/oobabooga/text-generation-webuiPython을 이용해서 가장 쉽게 만들수 있는 Gradio에 웹 인터페이스를 보다 풍성하게 만들어주는 기능을 한다. 1.ngxson alpaca.cpp-webuiDownload https://github.com/ngxson/alpaca.cpp.. 2024. 6. 8.
LLM/ChatGPT - 나만의 모델 Chatbot-UI에 넣기 위한 구조 이해 OpenSource로 잘 만들어진 mckaywrigley/chatbot-ui: AI chat for every model. (github.com)님 의 chatbot-ui에 나만의 모델을 넣고자 한다면 어떻게 해야할지 요약해보았다. 본 구조는 각 개발자에 따라서 달라질 수 있고, 현재 버전(231009) 이후에 다르게 변경될 수 있다는 점을 이해기 바라며 참고용도로 보시면 좋을 듯 하다.1. 모델 정의types/openai.ts여기에 정의한 모델이 추후 모델 선택에 정리되어 보여지게 된다. 2. 모델 확인pages/api/models.tschatbot-ui는 기본적으로 openai에 사용 가능한 모델이 무엇인지를 확인한 후에 해당 정보로 models 리스트를 만들도록 되어 있다. 처음 실행하면 아무것도 .. 2024. 6. 8.
RNN - Python numpy 기초 코드 실습 딥러닝을 공부한다면, 시작은 RNN부터 하는것이 전체적인 흐름을 이해하는데 큰 도움이 된다.여기에서는 RNN을 파이썬 코드로 작성하는 방식으로 이해해보도록 하겠다.RNN은 Recurrent Neural Network의 약자로, 시퀀스 데이터를 처리하는 데 유용한 인공 신경망의 한 종류이다.RNN은 자연어 처리, 음성 인식, 이미지 캡셔닝 등 다양한 분야에 적용될 수 있으며, RNN은 시간 단계의 입력으로 사용하여, 이전 시간 단계의 출력을 현재 시간적인 의존성을 모델링할 수 있다.RNN을 파이썬으로 구현하는 방법은 여러 가지가 있고, 가장 간단한 방법은 numpy 라이브러리를 사용하는 것이다.numpy는 다차원 배열과 행렬 연산을 지원하는 파이썬 패키지로, numpy를 사용하면 RNN의 순전파와 역전파를.. 2024. 6. 8.
2023년 빅데이터 오픈소스 플랫폼 Top 3 2023년 빅데이터 오픈소스 플랫폼 중 가장 유용한 오픈 소스 플랫폼 3가지를 소개한다.1. Hadoop대규모 데이터 처리에 최적화된 분산 처리 프레임워크로, HDFS(Hadoop Distributed File System)와 MapReduce를 기반으로 하며, 저렴한 비용으로 대규모 데이터를 효율적으로 처리할 수 있어서, 구조화 데이터와 비구조화 데이터를 모두 처리할 수 있으며, 확장성이 뛰어나 대규모 데이터 분석에 적합하다.장점저렴한 비용: 오픈소스 프로젝트이기 때문에 라이선스 비용이 발생하지 않는다. 또한, 하드웨어 요구 사항이 낮기 때문에 저렴한 하드웨어를 사용하여 Hadoop 클러스터를 구축할 수 있다.고성능: 분산 처리를 통해 대규모 데이터를 빠르게 처리할 수 있다.신뢰성: 데이터를 3중으로 .. 2024. 6. 8.
LLM.int8() - Large Language Model (LLM)의 계산 성능을 개선하기 위한 양자화 방법 LLM.int8() 개요LLM.int8()은 Large Language Model (LLM)의 계산 성능을 개선하기 위한 8-bit 양자화 방법이다. 기존의 8-bit 양자화 방법은 성능 저하가 발생하는 문제점이 있었는데, LLM.int8()은 이를 해결하여 LLM의 성능을 유지하면서도 계산 성능을 크게 향상시킬 수 있다 LLM.int8()의 핵심 요소는 vector-wise quantization과 mixed-precision decomposition이다. vector-wise quantization은 텐서 당 여러 개의 scaling constant를 사용하여 outlier의 영향력을 줄이는 방법이다. mixed-precision decomposition은 0.1%의 outlier만 16-bit로 나.. 2024. 6. 8.
LLM - Llama2(라마2) 모델 개인 노트북으로 실행하기(CPU기반) 오늘 발견한 아주 좋은 글이 있어서 여기에 공유해 본다.내용은 라마2 모델을 CPU기반으로 실행할 수 있다는 것이다.요즘 GPU 메모리 부분을 많이 최적화 하고 있는 것으로 알고 있었는데, 이제 CPU+GPU 등 점점 모델들이 최적화 되고 있음을 느끼고 있다.이는 어떻게 가능할까? 여기게 요점 위주로 간단히 정리해보도록 하겠다.관련 내용은 아래에서 확인이 가능하다.Running Llama 2 on CPU Inference Locally for Document Q&A | by Kenneth Leung | Towards Data Science Running Llama 2 on CPU Inference Locally for Document Q&AClearly explained guide for running .. 2024. 6. 8.
반응형