반응형

인공지능/자연어 처리 149

LLama3 학습 데이터 변환하여 LLama3.2 Sparse Autoencoder 학습하기

기존에 공개된 학습 데이터를 통해 3.2에 사용할 수 있는 학습 데이터를 만들어 보겠습니다.import csvfrom datasets import load_datasetfrom transformers import AutoTokenizerfrom tqdm import tqdm # 진행 상태 표시를 위한 tqdmfrom huggingface_hub import HfApi, loginlogin('') # 허깅 페이스 api 키로 로그인해서 데이터 셋, 토크나이저 가져올 수 있도록 합니다.# 데이터셋 로드dataset = load_dataset("chanind/openwebtext-llama3")# Meta-Llama-3-8B 토크나이저 로드 (디코딩용)tokenizer = AutoTokenizer.from_..

SAE 통해 특정 feature를 강화시켜 LLM 출력 변형하기 - 미스트랄 mistral 7b

어우 여기까지 오는데도 너무 머네요 ㅎㅎ,,,,일단 코드 작성하면서 설명하겠습니다.import osfrom setproctitle import setproctitlesetproctitle("")os.environ["CUDA_VISIBLE_DEVICES"] = ""항상 하는 이름과 GPU 설정하기COLAB = Falsefrom IPython import get_ipython # type: ignoreipython = get_ipython(); assert ipython is not Noneipython.run_line_magic("load_ext", "autoreload")ipython.run_line_magic("autoreload", "2")이것도 없애도 되는 것 같은데....다음번엔 지워볼게요impo..

SAE Tutorial summarize

기존에 진행했던 튜토리얼들이 너무 길어서 짧게 줄여봤습니다.최대한 설명도 적으면서 저도 나중에 기억할 수 있게 적어볼게요import osfrom setproctitle import setproctitlesetproctitle("")os.environ["CUDA_VISIBLE_DEVICES"] = "0"항상하는 이름이랑 gpu번호 적기!import torchfrom tqdm import tqdmimport plotly.express as pximport pandas as pd# Imports for displaying vis in Colab / notebooktorch.set_grad_enabled(False)# For the most part I'll try to import functions and c..

SAE tutorial - logits lens with features

Logit Lens로 SAE 특징 이해하기이 노트북은 "Logit Lens로 SAE 특징 이해하기" 게시물에 문서화된 분석을 수행하기 위해 mats_sae_training 라이브러리를 사용하는 방법을 보여줍니다.따라서 이 노트북에는 다음 섹션이 포함됩니다:Huggingface에서 GPT2-Small Residual Stream SAE를 로드하기.특징에 대한 가상 가중치 기반 분석 수행 (특히 logit 가중치 분포를 살펴봄).neuronpedia에서 공용 대시보드를 사용하기 위해 Neuronpedia 탭을 프로그래밍 방식으로 열기.토큰 세트 강화 분석 수행 (Gene Set Enrichment Analysis를 기반으로).설정여기서는 다음과 같은 작업을 위한 다양한 함수를 로드합니다:Huggingface..

SAE tutorials - SAE basic

내일 완성형으로 작성하겠지만 여기서 pandas 버전 문제가 있더라고여그러므로 pandas를 아래와 같이 버전 다운 시키면 됩니다.pip install pandas==2.2.0https://stackoverflow.com/questions/78524556/typeerror-cannot-convert-numpy-ndarray-to-numpy-ndarraySAE Lens + Neuronpedia Tutorial이 튜토리얼은 기계적 해석 가능성에서 인기 있는 새로운 기법인 희소 오토인코더(Sparse Autoencoders, SAEs)를 사용하여 신경망을 분석하는 방법에 대한 입문서입니다. 더 자세한 내용은 이 게시물을 참고하세요.하지만 여기서는 SAE 특징이 무엇인지, SAELens에 SAEs를 로드하고 특..

SAE 튜토리얼 진행해보기 - training SAE

SAELens을 사용한 기본 SAE 훈련 이 튜토리얼은 작은 크기의 Sparse Autoencoder(SAE)를 훈련하는 방법을 설명하며, 구체적으로 tiny-stories-1L-21M 모델을 대상으로 합니다.SAELens 라이브러리는 활발히 개발 중이므로, 이 튜토리얼이 오래되었을 경우 여기를 통해 이슈를 제기해 주세요.try: #import google.colab # type: ignore #from google.colab import output %pip install sae-lens transformer-lens circuitsvisexcept: from IPython import get_ipython # type: ignore ipython = get_ipython()..

chat bot을 통한 inference 후 chat gpt API를 사용하여 평가하기

어제 inference만 했다면 오늘은 평가까지 진행해보겠습니다.import jsonimport osimport torchfrom setproctitle import setproctitlefrom transformers import AutoModelForCausalLM, AutoTokenizer, pipelinefrom peft import PeftModel, PeftConfigfrom openai import OpenAIclient = OpenAI(api_key="")여기에 api 키를 넣어줍니다.연구실 API가 있으니 너무 편하네요....setproctitle("")os.environ["CUDA_VISIBLE_DEVICES"] = "7"# 테스트 데이터 경로 및 저장 경로 설정test_data_pat..

Sparse Autoencoder 시작

SAE를 통해 LLM의 데이터를 변경, 조작해보자가 시작되었습니다!!!!https://transformer-circuits.pub/2024/scaling-monosemanticity/ Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 SonnetAuthors Adly Templeton*, Tom Conerly*, Jonathan Marcus, Jack Lindsey, Trenton Bricken, Brian Chen, Adam Pearce, Craig Citro, Emmanuel Ameisen, Andy Jones, Hoagy Cunningham, Nicholas L Turner, Callum McDougall, Monte ..

모델 추론 코드 작성하기 - Transformer, peft, inference

이번에 오류가 너무 많았습니다..그냥 generation을 통해서 모델 추론을 진행했더니 모델 출력이 이상한 것만 나오질 않나...제 서버에서는 Config가 없다고 모델이 불러와 지지도 않지 않나....transformers 버전 때문에 출력이 다르게 나오지 않나....pipeline이 안 불러와지는 서버가 있지 않나....등등 다양한 오류가 있었습니다....결국 저는 제 서버에서 config 없으니 모델 안 불러지는 것을 peft를 통해 base 모델을 넣고, 추론을 진행하였습니다.import jsonimport osimport torchfrom setproctitle import setproctitlefrom transformers import AutoModelForCausalLM, AutoToke..

LLM interpretability1 : Toy Models of Superposition

https://transformer-circuits.pub/2022/toy_model/ Toy Models of SuperpositionIt would be very convenient if the individual neurons of artificial neural networks corresponded to cleanly interpretable features of the input. For example, in an “ideal” ImageNet classifier, each neuron would fire only in the presence of a specific vtransformer-circuits.pub 제가 원했던 분야 중 하나입니다.드디어 조금씩 진행하게 되었네요 일부 뉴런은 명확..

728x90
728x90