afvanluenen commited on
Commit
27b0e71
·
verified ·
1 Parent(s): 47b70bf

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +21 -5
README.md CHANGED
@@ -13,7 +13,7 @@ ASMTransformers is a project to train and use a machine learning model to compar
13
  to aid in the process of reverse engineering.
14
 
15
  # Status
16
- ?
17
 
18
  # Relevant links
19
  * [Github repo ASMtransformers](https://github.com/NetherlandsForensicInstitute/asmtransformers)
@@ -35,7 +35,7 @@ Don't forget to describe that during pretraining, the --mlm-prob parameter has b
35
 
36
  Parameters used: epochs=19, eval_steps=10000, batch_size=512, gradient_accumulation_steps=1, mlm_prob=0.4, bf16=True, tf32=True
37
 
38
- add estimated time it has cost to train:
39
  pretraining: 33 hours on TODO!
40
  finetuning: 4 hours on 1 NVIDIA H200
41
 
@@ -86,11 +86,27 @@ Amount of functions per architecture per optimization
86
  ----------------------------
87
 
88
  # Preprocessing
89
- Several preprocessing steps have been taken, that differ slightly between architectures.
90
- TODO: update to same as architecture.md in repo
 
 
 
 
 
 
 
 
 
 
 
91
 
92
  # Performance
93
- Performance was measured in two ways: Mean Reciprocal Rank (MRR) and Accuracy@1
 
 
 
 
 
94
 
95
  |model|ARM64 mrr|ARM64 acc|AMD64 mrr|AMD64 acc|RISC-V mrr|RISC-V acc|I386 mrr|I386 acc|crosslingual mrr|crosslingual acc|
96
  |-----|---------|---------|---------|---------|----------|----------|--------|--------|----------------|----------------|
 
13
  to aid in the process of reverse engineering.
14
 
15
  # Status
16
+ Not actively maintained after publishing
17
 
18
  # Relevant links
19
  * [Github repo ASMtransformers](https://github.com/NetherlandsForensicInstitute/asmtransformers)
 
35
 
36
  Parameters used: epochs=19, eval_steps=10000, batch_size=512, gradient_accumulation_steps=1, mlm_prob=0.4, bf16=True, tf32=True
37
 
38
+ Estimated time it has cost to train:
39
  pretraining: 33 hours on TODO!
40
  finetuning: 4 hours on 1 NVIDIA H200
41
 
 
86
  ----------------------------
87
 
88
  # Preprocessing
89
+ Several preprocessing steps have been taken: CFGs are processed to become a flat token list suitable for a tokenizer or
90
+ vocabulary builder. This procedure differs slightly between architectures, the processes can be inspected
91
+ [here](https://github.com/NetherlandsForensicInstitute/asmtransformers/tree/main/asmtransformers/asmtransformers/preprocessors).
92
+
93
+ Furthermore, some operands have been normalized,
94
+ to reduce token explosion caused by raw numeric values. These numerical values are expressed as powers of two, such that
95
+ 4096 would be 2 ** 12, so #0x2^c, so would 6000, but 9000 would be #0x2^d. As a consequence, small numbers are distinguishable
96
+ in the vocabulary list, but bigger numbers get one batched representation.
97
+
98
+ Finally, jump tokens are normalised to be relative `JUMP_ADDR_*` tokens (* being the line number of the jump adress in the given
99
+ function, rather than in the full CFG) CHECK KLOPT DIT?
100
+
101
+
102
 
103
  # Performance
104
+ Performance was measured in two ways: Mean Reciprocal Rank (MRR) and Accuracy@1. These metrics are useful for this problem
105
+ since we compare a given embedded function to a database of embedded functions, and then rank the database by cosine similarity.
106
+ Mean Reciprocal rank shows the mean rank (1 the positive example in the database being ranked first, 0.5 when the positive example
107
+ is ranked second, 0.25 when the positive example is ranked fourth, etc). I.e. an MRR of 0.66 shows that the positive example was
108
+ usually ranked first or second. Accuracy@1 shows how many times the positive example ranked first. It is a useful metric,
109
+ but it's also very strict, which is why we used it combined with MRR.
110
 
111
  |model|ARM64 mrr|ARM64 acc|AMD64 mrr|AMD64 acc|RISC-V mrr|RISC-V acc|I386 mrr|I386 acc|crosslingual mrr|crosslingual acc|
112
  |-----|---------|---------|---------|---------|----------|----------|--------|--------|----------------|----------------|