JuIm commited on
Commit
357d5ee
·
verified ·
1 Parent(s): 4cbe820

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +15 -19
README.md CHANGED
@@ -12,37 +12,33 @@ should probably proofread and complete it, then remove this comment. -->
12
 
13
  # ProGemma2
14
 
15
- This model is a fine-tuned version of [JuIm/ProGemma2](https://huggingface.co/JuIm/ProGemma2) on an unknown dataset.
16
 
17
- ## Model description
18
 
19
- More information needed
20
 
21
- ## Intended uses & limitations
22
 
23
- More information needed
24
 
25
- ## Training and evaluation data
26
 
27
- More information needed
28
 
29
- ## Training procedure
30
 
31
- ### Training hyperparameters
32
 
33
- The following hyperparameters were used during training:
34
- - learning_rate: 0.001
35
- - train_batch_size: 2
36
- - eval_batch_size: 8
37
- - seed: 42
38
- - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
39
- - lr_scheduler_type: linear
40
- - lr_scheduler_warmup_ratio: 0.4
41
- - training_steps: 3500
42
 
43
- ### Training results
44
 
 
45
 
 
 
 
 
 
46
 
47
  ### Framework versions
48
 
 
12
 
13
  # ProGemma2
14
 
 
15
 
16
+ ### This is an updated/improved version of ProGemma. Please see below for how to use it. Compared to ProGemma, ProGemma 2 has better perplexity scores, HHblits e-values, and ptm/pLDDT/iptm scores.
17
 
 
18
 
19
+ This is a custom configuration of Google’s Gemma 2 LLM that is being pre-trained on amino acid sequences of 512 AA or less in length. Periodic updates are made to this page as training reaches new checkpoints.
20
 
21
+ The purpose of this model was to investigate the differences between ProGemma and ProtGPT (GPT-2 architecture) as it pertains to sequence generation. Perplexity scores as well as AlphaFold 3’s ptm, pLDDT, and iptm scores are generally in line with ProtGPT’s scores for sequence lengths < 250, although the testing phase is still very early. I have yet to do testing for sequence lengths > 250. More robust testing is also required for lengths < 250 AA. In my very preliminary testing, HHblit e-values of ~0.1 are achieved with relatively easily.
22
 
23
+ Controlled generation is not a capability of this model, and therefore serves as a method to significantly improve generation as, in principal, a sequence that performs a given function or resides in a particular cellular location can be generated.
24
 
25
+ In sequence generation, a top_k of 950 appears to work well as it prevents repetition. This is also seen in ProtGPT.
26
 
27
+ Below is code using the Transformers library to generate sequences using ProGemma.
28
 
29
+ from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
30
 
31
+ model = AutoModelForCausalLM.from_pretrained("JuIm/ProGemma")
 
 
 
 
 
 
 
 
32
 
33
+ tokenizer = AutoTokenizer.from_pretrained("JuIm/Amino-Acid-Sequence-Tokenizer")
34
 
35
+ progemma = pipeline("text-generation", model=model, tokenizer=tokenizer)
36
 
37
+ sequence = progemma("", top_k=950, max_length=100, num_return_sequences=1, do_sample=True, repetition_penalty=1.2, eos_token_id=21, pad_token_id=22, bos_token_id=20)
38
+
39
+ s = sequence[0]['generated_text']
40
+
41
+ print(s)
42
 
43
  ### Framework versions
44