Views
No views yet
meta-llama/Meta-Llama-3-8B-Instruct base model for Domain Adaptation. The adapter was trained on a Turkish dataset comprising various documents related to the Turkish Energy Market Regulatory Authority (EPDK), such as legislation, laws, communiqués, and board decisions.meta-llama/Meta-Llama-3-8B-Instructmeta-llama/Meta-Llama-3-8B-Instruct base model. It is expected that the base model will then better understand, summarize, or provide more consistent answers to prompts related to EPDK legislation. It can be used with the code example provided in the "How to Get Started with the Model" section below.meta-llama/Meta-Llama-3-8B-Instruct model.transformers, peft, accelerate, and bitsandbytes libraries to use this LoRA adapter. The code below loads the base model with 4-bit quantization and applies this adapter:1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
3from peft import PeftModel
4import os
5
6# Ensure you are logged in to Hugging Face if the repo is private or requires Llama access
7# from huggingface_hub import login
8# login(token="YOUR_HF_TOKEN") # Or use huggingface-cli login
9
10# Base model ID
11base_model_id = "meta-llama/Meta-Llama-3-8B-Instruct"
12# This adapter's Hub ID
13adapter_id = "ogulcanakca/llama3-8b-epdk-domain-adapter-v1"
14
15# 4-bit Quantization Config
16bnb_config = BitsAndBytesConfig(
17 load_in_4bit=True,
18 bnb_4bit_quant_type="nf4",
19 bnb_4bit_compute_dtype=torch.bfloat16 # Use bfloat16 if supported
20)
21
22# Load the base model quantized
23print(f"Loading base model: {base_model_id}")
24base_model = AutoModelForCausalLM.from_pretrained(
25 base_model_id,
26 quantization_config=bnb_config,
27 device_map="auto",
28 torch_dtype=torch.bfloat16,
29 trust_remote_code=True # May be needed
30)
31
32# Load the tokenizer
33print("Loading tokenizer...")
34tokenizer = AutoTokenizer.from_pretrained(base_model_id)
35if tokenizer.pad_token is None:
36 tokenizer.pad_token = tokenizer.eos_token
37
38# Load the LoRA adapter onto the base model
39print(f"Loading adapter: {adapter_id}")
40model = PeftModel.from_pretrained(base_model, adapter_id)
41print("Adapter loaded successfully.")
42model.eval() # Set model to evaluation mode
43
44# Inference Example
45prompt = "EPDK'nın elektrik piyasasındaki temel görevleri nelerdir?" # Example prompt in Turkish
46messages = [
47 {"role": "system", "content": "You are a helpful assistant knowledgeable about Turkish energy market regulations."},
48 {"role": "user", "content": prompt}
49]
50
51# Llama 3 Instruct prompt format
52print("Generating response...")
53input_ids = tokenizer.apply_chat_template(
54 messages,
55 add_generation_prompt=True,
56 return_tensors="pt"
57).to(model.device)
58
59# Terminator IDs to stop generation
60terminators = [
61 tokenizer.eos_token_id,
62 tokenizer.convert_tokens_to_ids("<|eot_id|>")
63]
64
65# Generate text
66with torch.no_grad():
67 outputs = model.generate(
68 input_ids,
69 max_new_tokens=512, # Max new tokens to generate
70 eos_token_id=terminators,
71 do_sample=True, # For more creative outputs
72 temperature=0.6,
73 top_p=0.9,
74 )
75
76# Decode the generated output
77response_ids = outputs[0][input_ids.shape[-1]:]
78response_text = tokenizer.decode(response_ids, skip_special_tokens=True)
79
80print("\nModel Output:")
81print(response_text)ogulcanakca/epdk_corpus Hugging Face dataset. This dataset was derived from ~3300 various Turkish documents (PDF, DOCX, etc.) related to the Turkish Energy Market Regulatory Authority (EPDK), obtained through text extraction, OCR, and basic NLP cleaning processes.meta-llama/Meta-Llama-3-8B-Instruct tokenizer into segments of 2048 tokens with an overlap of 200 tokens. The resulting domain_adaptation_data.jsonl file (or equivalent Dataset object) containing 31,271 chunks was used for training.transformers, peft, accelerate, bitsandbytes, datasets.DataCollatorForLanguageModeling was used during training.meta-llama/Meta-Llama-3-8B-Instruct4-bit (NF4, compute_dtype=bfloat16)["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"]EPDK'nın elektrik piyasasındaki temel görevleri nelerdir?
---------------------------------------------------------
--- Model Response ---
EPDK, Elektrik Piyasası Kanunu'nun 5 inci maddesine göre, elektrik piyasasının işletilmesi ve gelişimi için gerekli ortamı oluşturmak, piyasada rekabetin gelişmesi için gerekli düzenlemeleri yapmak, serbest tüketim ve üretim faaliyetlerine ilişkin usul ve esasları belirlemek, denetlemek ve lisanslama işlemlerini yapmak, görevleri arasındadır. EPDK'nın elektrik piyasasındaki temel görevleri şu şekilde özetlenebilir:
1) Elektrik piyasasının gelişimi için gerekli düzenlemeleri yapmak: EPDK, elektrik piyasasının gelişimi için gerekli düzenlemeleri yapmakla yükümlüdür. Bu kapsamda, EPDK tarafından hazırlanan düzenlemeler, Kurul tarafından onaylanmak suretiyle yürürlüğe girer.
2) Piyasa işletimine ilişkin düzenlemeleri yapmak: EPDK, elektrik piyasasının işletilmesi için gerekli düzenlemeleri yapmakla yükümlüdür. Bu kapsamda, EPDK tarafından hazırlanan düzenlemeler, Kurul tarafından onaylanmak suretiyle yürürlüğe girer.
3) Lisans alma ve lisanslama işlemlerini yapmak: EPDK, lisans alma ve lisanslama işlemlerini yapmakla yükümlüdür. EPDK, lisans alma ve lisanslama işlemlerini yapmak için gerekli işlemleri yapar, lisansları verir, tadil ve iptal işlemlerini gerçekleştirir.
4) Denetlemek: EPDK, lisans sahibi tüzel kişilerden, lisanslarına ilişkin yükümlülüklerini yerine getirmelerini sağlamak amacıyla gerekli denetimleri yapmakla yükümlüdür. EPDK, denetimleri yapmak için gerekli işlemleri yapar, denetim sonuçlarını raporlar ve Kurul tarafından onaylanmak suretiyle yayımlar.
5) Elektrik piyasasının işletilmesi için gerekli ortamı oluşturmak: EPDK, elektrik piyasasının işletilmesi için gerekli ortamı oluşturmakla yükümlüdür. Bu kapsamda, EPDK tarafından hazırlanan düzenlemeler, Kurul tarafından onaylanmak suretiyle yürürlüğe girer.
6) Piyasa işletimine ilişkin usul ve esasları belirlemek: EPDK, elektrik piyasasının işletilmesi için gerekli usul ve esasları belirlemekle yükümlüdür. Bu kapsamda, EPDK tarafından hazırlanan düzenlemeler, Kurul tarafından onaylanmak suretiyle yürürlüğe girer.
7) Serbest tüketim ve üretim faaliyetlerine ilişkin usul ve esasları belirlemek: EPDK, serbest tüketim ve üretim faaliyetlerine ilişkin usul ve esasları belirlemekle yükümlüdür. Bu kapsamda, EPDK tarafından hazırlanan düzenlemeler, Kurul tarafından onaylanmak suretiyle yürürlüğe girer.
8) Lisans sahibi tüzel kişilerin faaliyetlerini izlemek: EPDK, lisans sahibi tüzel kişilerin faaliyetlerini izlemekle yükümlüdür. Bu kapsamda, EPDK, lisans sahibi tüzel kişilerin faaliyetlerini izlemek için gerekli işlemleri yapar.
9) Lisans sahibi tüzel kişilerin faaliyetlerine ilişkin incelemeleri yapmak: EPDK, lisans sahibi tüzel kişilerin faaliyetlerine ilişkin incelemeleri yapmakla yükümlüdür. Bu kapsamda, EPDK, lisans sahibi tüzel kişilerin faaliyetlerine ilişkin incelemeleri yapmak için gerekli işlemleri yapar.
10) Lisans sahibi tüzel kişilerin faaliyetlerine ilişkin inceleme sonuçlarını raporlamak: EPDK, lisans sahibi tüzel kişilerin faaliyetlerine ilişkin inceleme sonuçlarını raporlamakla yüküml
--- End of Response ---torch==2.5.1 recommended based on Kaggle env)transformers)peft==0.15.2)accelerate)bitsandbytes)datasets)@misc{ogulcanakca_llama3_epdk_adapter_2025,
author = {ogulcanakca},
title = {llama3-8b-epdk-domain-adapter-v1: A LoRA Adapter for Llama 3 8B Instruct Domain-Adapted to Turkish EPDK Legislation},
year = {2025},
publisher = {Hugging Face},
version = {v1},
url = {https://huggingface.co/ogulcanakca/llama3-8b-epdk-domain-adapter-v1}
}