Mentors4EDU commited on
Commit
a1beb9b
·
verified ·
1 Parent(s): bfc3bfa

Upload 33 files

Browse files
.gitattributes CHANGED
@@ -1,35 +1,11 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
1
+ *.pt filter=lfs diff=lfs merge=lfs -text
2
+ *.bin filter=lfs diff=lfs merge=lfs -text
3
+ *.pkl filter=lfs diff=lfs merge=lfs -text
4
+ *.pth filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
7
+ *.onnx filter=lfs diff=lfs merge=lfs -text
8
+ model.* filter=lfs diff=lfs merge=lfs -text
9
+ *.h5 filter=lfs diff=lfs merge=lfs -text
10
+ *.py text diff=python
11
+ *.meta-huggingface.json text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.huggingface.co/repository-structure.json ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "repos": {
3
+ "*": {
4
+ "stripe_disabled": false,
5
+ "files-tracking": {
6
+ "patterns": [
7
+ "**/*.pt",
8
+ "**/*.bin",
9
+ "**/*.pkl",
10
+ "**/*.pth",
11
+ "**/*.ckpt",
12
+ "**/*.safetensors",
13
+ "**/*.onnx",
14
+ "**/model.*",
15
+ "**/*.h5",
16
+ "**/*.py",
17
+ "**/*.meta-huggingface.json"
18
+ ],
19
+ "ignore_patterns": []
20
+ }
21
+ }
22
+ }
23
+ }
checkpoints/best_model.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f3ea33124d5c9d132b8d68c9beab49feb8f68758487341b14798fe9c54892cb0
3
+ size 1956677989
checkpoints/checkpoint_epoch_1.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:29f09cac436f3f13cbb7c7951bbe2e29cd36acae434724056b81b60de365a77f
3
+ size 1956684341
checkpoints/checkpoint_epoch_2.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:61116cb8ff4803588a7e0c529322f614066375633e55c9a1a7cdab16080c4d32
3
+ size 1956684341
checkpoints/checkpoint_epoch_3.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3fdcf20e7c2e6e2a2b54555fc084eeb49d10381388071563d729cfde267b101f
3
+ size 1956684341
src/__pycache__/model.cpython-311.pyc CHANGED
Binary files a/src/__pycache__/model.cpython-311.pyc and b/src/__pycache__/model.cpython-311.pyc differ
 
src/model.py CHANGED
@@ -1,142 +1,3 @@
1
- import torch
2
- from .decent_torch import DecentModel
3
- from .openpeer import OpenPeerClient
4
- from .grammar import LonScriptGrammar
5
- from .modeling_openpeer import OpenPeerLLM
6
- from .configuration_openpeer import OpenPeerConfig
7
- from .tokenization_openpeer import OpenPeerTokenizer
8
- import asyncio
9
- from typing import Dict, Any, Optional
10
-
11
- class DecentralizedLLM(DecentModel):
12
- def __init__(self, network_url: str = "ws://localhost:8000"):
13
- super().__init__()
14
- # Initialize our custom LLM
15
- self.config = OpenPeerConfig()
16
- self.model = OpenPeerLLM(self.config)
17
- self.tokenizer = OpenPeerTokenizer()
18
- self.peer_client = OpenPeerClient(network_url)
19
- self.grammar = LonScriptGrammar()
20
- self._ensure_model_on_device()
21
-
22
- def _ensure_model_on_device(self):
23
- """Ensure model is on the correct device"""
24
- device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
25
- self.model = self.model.to(device)
26
-
27
- def forward(self, input_text: str) -> str:
28
- # Tokenize input
29
- inputs = self.tokenizer(input_text, return_tensors="pt")
30
- inputs = {k: v.to(self.model.device) for k, v in inputs.items()}
31
-
32
- # Generate response using our custom LLM
33
- with torch.no_grad():
34
- outputs = self.model(**inputs)
35
- logits = outputs["logits"]
36
-
37
- # Get next token predictions
38
- next_token_logits = logits[:, -1, :]
39
- next_tokens = torch.argmax(next_token_logits, dim=-1)
40
-
41
- generated_ids = [inputs["input_ids"][0].tolist()]
42
- for _ in range(100): # max length
43
- curr_input = torch.tensor([generated_ids[-1]], device=self.model.device)
44
- with torch.no_grad():
45
- outputs = self.model(curr_input)
46
- next_token_logits = outputs["logits"][:, -1, :]
47
- next_token = torch.argmax(next_token_logits, dim=-1).item()
48
-
49
- generated_ids.append([next_token])
50
-
51
- if next_token == self.tokenizer.eos_token_id:
52
- break
53
-
54
- # Decode and return results
55
- decoded_output = self.tokenizer.decode(torch.tensor(generated_ids).flatten(), skip_special_tokens=True)
56
- return decoded_output
57
- from .grammar import LonScriptGrammar
58
- from .modeling_openpeer import OpenPeerLLM
59
- from .configuration_openpeer import OpenPeerConfig
60
- from .tokenization_openpeer import OpenPeerTokenizer
61
- import asyncio
62
- from typing import Dict, Any, Optional
63
-
64
- class DecentralizedLLM(DecentModel):
65
- def __init__(self, network_url: str = "ws://localhost:8000"):
66
- super().__init__()
67
- # Initialize our custom LLM
68
- self.config = OpenPeerConfig()
69
- self.model = OpenPeerLLM(self.config)
70
- self.tokenizer = OpenPeerTokenizer()
71
- self.peer_client = OpenPeerClient(network_url)
72
- self.grammar = LonScriptGrammar()
73
- self._ensure_model_on_device()
74
-
75
- def _ensure_model_on_device(self):
76
- """Ensure model is on the correct device"""
77
- device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
78
- self.model = self.model.to(device)
79
-
80
- async def connect_to_network(self):
81
- """Connect to the peer network"""
82
- await self.peer_client.connect(self.peer_id)
83
- asyncio.create_task(self._handle_peer_updates())
84
-
85
- async def _handle_peer_updates(self):
86
- """Handle incoming updates from peers"""
87
- async for update in self.peer_client.receive_updates():
88
- if update["type"] == "model_update":
89
- await self._process_model_update(update)
90
-
91
- async def _process_model_update(self, update: Dict[str, Any]):
92
- """Process received model updates"""
93
- state_dict = {k: torch.tensor(v) for k, v in update["state"].items()}
94
- self.state_updates[update["peer_id"]] = state_dict
95
- self.aggregate_states()
96
-
97
- def forward(self, input_text: str) -> str:
98
- """Generate response for input text"""
99
- # Tokenize input
100
- inputs = self.tokenizer(input_text, return_tensors="pt")
101
- inputs = {k: v.to(self.model.device) for k, v in inputs.items()}
102
-
103
- # Generate response
104
- with torch.no_grad():
105
- outputs = self.model.generate(
106
- **inputs,
107
- max_length=100,
108
- num_return_sequences=1,
109
- pad_token_id=self.tokenizer.eos_token_id
110
- )
111
-
112
- # Decode and return results
113
- decoded_output = self.tokenizer.decode(outputs[0], skip_special_tokens=True)
114
- return decoded_output
115
-
116
- async def train_step(self, batch: Dict[str, torch.Tensor]):
117
- """Perform a training step and share updates with peers"""
118
- # Forward pass
119
- outputs = self.model(**batch)
120
- loss = outputs.loss
121
-
122
- # Backward pass
123
- loss.backward()
124
-
125
- # Optimizer step would go here
126
- # self.optimizer.step()
127
-
128
- # Share updated model state with peers
129
- await self.peer_client.send_model_update(self.model.state_dict())
130
-
131
- def reason(self, context: str, query: str) -> str:
132
- """Implement deep reasoning capabilities with grammar enhancement"""
133
- # Combine context and query
134
- prompt = f"Context: {context}\nQuery: {query}\nReasoned response:"
135
-
136
- # Generate initial response
137
- initial_response = self.forward(prompt)
138
-
139
- # Apply grammar rules for enhanced understanding
140
- enhanced_response = self.grammar.apply_grammar_rules(initial_response)
141
-
142
- return enhanced_response
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:47da0d9a5466089eb314af04d4fb2463dd7082037b2920b2a7df27b2a655c54d
3
+ size 5888