Views
No views yet
1import torch
2from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
3from peft import PeftModel
4
5bnb_config = BitsAndBytesConfig(
6 load_in_4bit=True,
7 bnb_4bit_use_double_quant=True,
8 bnb_4bit_quant_type="nf4",
9 bnb_4bit_compute_dtype=torch.bfloat16
10)
11
12model = AutoModelForCausalLM.from_pretrained("facebook/xglm-7.5B",
13 quantization_config=bnb_config,
14 device_map="auto")
15
16model = PeftModel.from_pretrained(model, "myzens/XGLM_TR_FineTune_alpha")
17
18tokenizer = AutoTokenizer.from_pretrained("facebook/xglm-7.5B")1import re
2
3def post_process(text, how_many_sentences=5):
4
5 start_index = text.find("### Cevap: ") + len("### Cevap: ")
6 end_index = text.find("️", start_index)
7 extracted_text = text[start_index:end_index].strip()
8
9 sentences = extracted_text.split('.')
10 sentences = '.'.join(sentences[:how_many_sentences])
11 cleaned_text = ''.join(ch for ch in sentences if ch.isalnum() or ch.isspace() or ch == ".")
12 cleaned_text = cleaned_text.replace(" ", " ")
13 cleaned_text = re.sub('\.\.+', '.', cleaned_text)
14 cleaned_text = cleaned_text.strip()
15
16 return cleaned_text1PROMPT = """Aşağıda, daha fazla bağlam sağlayan bir girdi ile eşleştirilmiş bir görevi açıklayan bir talimat bulunmaktadır. İsteği uygun şekilde tamamlayan bir yanıt yazın.
2### Talimat: Sana verilen cümleyi olumlu, olumsuz veya tarafsız olarak sınıflandır
3### Giriş: Tamam iyi güzel kargo zamanında geliyor. HB ile ilgili bi sıkıntı yok. Ama bu ürün çok kullanışsız.
4### Cevap:"""
5
6inputs = tokenizer(PROMPT, return_tensors="pt")
7input_ids = inputs["input_ids"].cuda()
8
9generation_output = model.generate(
10 input_ids=input_ids,
11 temperature=0.1,
12 top_p=0.2,
13 repetition_penalty=1.2,
14 max_length=128,
15 pad_token_id=tokenizer.pad_token_id,
16 eos_token_id=tokenizer.eos_token_id
17)
18
19for generated_text in generation_output:
20 story = tokenizer.decode(generated_text, skip_special_tokens=True)
21 print(post_process(story, 1)) # Olumsuzhow_many_sentences = -1.1PROMPT = """Aşağıda, daha fazla bağlam sağlayan bir girdi ile eşleştirilmiş bir görevi açıklayan bir talimat bulunmaktadır. İsteği uygun şekilde tamamlayan bir yanıt yazın.
2### Talimat:
3### Giriş: Sanatın toplum için önemini açıkla.
4### Cevap:"""
5
6inputs = tokenizer(PROMPT, return_tensors="pt")
7input_ids = inputs["input_ids"].cuda()
8
9generation_output = model.generate(
10 input_ids=input_ids,
11 temperature=0.8,
12 top_p=0.9,
13 repetition_penalty=1.2,
14 max_length=512,
15 pad_token_id=tokenizer.pad_token_id,
16 eos_token_id=tokenizer.eos_token_id
17)
18"""
19Sanat insanlığın gelişimine katkıda bulunan önemli bir araçtır ve birçok farklı alanda kullanılabilir.
20Örneğin sanat eserleri görsel olarak bilgiyi aktarmak veya duyguları ifade etmek gibi çeşitli amaçlar sağlayabilirler.
21Ayrıca sanatçılar yaratıcılıklarını kullanarak yeni fikirler üretebilmelerine olanak tanıyarak toplumun ilerlemesine yardımcı olabilirler.
22Son olarak sanatsal ürünler insanlar arasında iletişim kurmaya da yardımcı olurken aynı zamanda kültürel etkileşimde de büyük rol oynarlar.
23Bu nedenle sanatın toplumsal faydası yadsınamazdır
24"""1PROMPT = """Aşağıda, daha fazla bağlam sağlayan bir girdi ile eşleştirilmiş bir görevi açıklayan bir talimat bulunmaktadır. İsteği uygun şekilde tamamlayan bir yanıt yazın.
2### Talimat:
3### Giriş: Ders çalışmak için önerilerde bulun.
4### Cevap:"""
5
6generation_output = model.generate(
7 input_ids=input_ids,
8 temperature=0.7,
9 top_p=0.9,
10 repetition_penalty=1.2,
11 max_length=512,
12 pad_token_id=tokenizer.pad_token_id,
13 eos_token_id=tokenizer.eos_token_id
14)
15
16"""
171. Çalışmak istediğiniz konuyu belirleyin ve ders çalışmaya başlamadan önce o konudaki kaynakları araştırın.
182. Dersi takip etmek için düzenli olarak zaman ayırmaya çalışın.
193. Birden çok görev yapmayı deneyin - bu sayede her gün birkaç saatinizi verimli kullanabilirsiniz.
204. Herhangi bir soru veya sorunla karşılaştığınız anda öğretmeninize danışın.
215. Kendinizi motive etmenin yollarına odaklanın - böylece kendinize güvenebilirsiniz ve motivasyonunuzu sürdürmek kolaylaşır.
226. Öğrenme sürecinde hata yapmaktan korkmayın! Hatalar öğrenmenin doğal bir parçasıdır; ancak yanlış yaptığınızda düzeltmeniz gereken şeylerin farkına varmanız önemlidir.
237. Başarısızlık duygusunu kabul edin ve başarının yolunu bulmanıza yardımcı olacak yeni yollar arayın.
248. Başkalarına yardım etmeye çalışarak kendi gelişiminize katkı sağlayın.
259. Sınavlara hazırlık yaparken dikkat dağıtıcı aktivitelerden kaçının.
2610. Sonunda başarılı olduğunuzun garantisini vermeyin. Bu sadece sizi stresli hale getirebilir.
2711. Deneme sınavlarını tekrarlayın ve sonuçları değerlendirerek ilerlemeyi izleyin.
2812. Daha iyi sonuçlar elde etme yolunda adım atmak için sabırlı olun.
2913. Yeni bilgiler öğrendiğinizde bunları paylaşmayı unutmayın.
3014. Motivasyonunu kaybetmekten korkan öğrencilerle iletişim kurmaktan çekinmeyin.
3115. Soru sorduğunuzda olumlu geri bildirim almak önemli olduğundan emin olun.
3216. Arkadaşlarınızla birlikte çalışırken destekleyici olmakta fayda vardır.
3317. Öğretmeniniz tarafından verilen ödevleri eksiksiz yapın.
3418. Dikkat dağıtan diğer etkinliklerden uzak durun.
3519. Zaman yönetimini öğrenin ve planlı hareket ederek zamanı etkili kullanın.
3620. Uyku düzenini koruyun ve sağlıklı beslenmeye özen gösterin.
3721. Stresle başa çıkma becerilerinizi geliştirin.
3822. Hayatınızda başkalarının da sizin gibi zorluklar yaşadığını hatırlayın.
3923. Farkındalık yaratmak için farklı yöntemler deneyerek zihinsel sağlığınızı korumaya çalışın.
4024. Eğer yeterince konsantre olamıyorsanız dinlenmeye izin verin.
41"""| Task | GitHub | ||
|---|---|---|---|
| Kaan Bıçakcı | Training + Data Preprocessing | Contact | https://github.com/Frightera |
| Talha Rüzgar Akkuş | Data Collection + General Idea | Contact | https://github.com/LegallyCoder |
| Ethem Yağız Çalık | Data Collection + General Idea | Contact | https://github.com/Weyaxi |