Skip to content

Commit bd6e65c

Browse files
authored
debug scores duplicates (#131)
1 parent 2b043c4 commit bd6e65c

File tree

2 files changed

+169
-0
lines changed

2 files changed

+169
-0
lines changed

neurons/validator.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ async def forward_validator(self):
127127
"WANDB_API_KEY not found in environment variables."
128128
)
129129

130+
self.miner_data_handler.print_miner_scores_duplicates()
131+
130132
bt.logging.info("calling forward_validator()")
131133
return [
132134
asyncio.create_task(self.forward_prompt()),

synth/validator/miner_data_handler.py

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
func,
1919
desc,
2020
not_,
21+
text,
2122
)
2223
from sqlalchemy.dialects.postgresql import insert
2324

@@ -518,3 +519,169 @@ def update_weights_history(
518519
f"in update_weights_history (got an exception): {e}"
519520
)
520521
traceback.print_exc(file=sys.stderr)
522+
523+
def print_miner_scores_duplicates(
524+
self,
525+
):
526+
527+
try:
528+
with self.engine.connect() as connection:
529+
with connection.begin():
530+
result = connection.execute(
531+
text(
532+
"""
533+
SELECT count(1) FROM miner_scores
534+
WHERE miner_predictions_id IS NULL
535+
"""
536+
)
537+
)
538+
539+
bt.logging.debug(
540+
f"Number of miner_scores with miner_predictions_id IS NULL: {result.scalar()}"
541+
)
542+
543+
result = connection.execute(
544+
text(
545+
"""
546+
SELECT count(1)
547+
FROM
548+
MINER_SCORES
549+
WHERE
550+
(MINER_PREDICTIONS_ID, PROMPT_SCORE, ID) IN (
551+
SELECT
552+
MINER_PREDICTIONS_ID,
553+
PROMPT_SCORE,
554+
ID
555+
FROM
556+
(
557+
SELECT
558+
*,
559+
ROW_NUMBER() OVER (
560+
PARTITION BY
561+
MINER_PREDICTIONS_ID,
562+
PROMPT_SCORE
563+
ORDER BY
564+
SCORED_TIME asc
565+
) AS RN
566+
FROM
567+
MINER_SCORES
568+
) T
569+
WHERE
570+
T.RN > 1
571+
)
572+
"""
573+
)
574+
)
575+
576+
bt.logging.debug(
577+
f"Number of miner_scores with duplicates on (MINER_PREDICTIONS_ID, PROMPT_SCORE): {result.scalar()}"
578+
)
579+
580+
result = connection.execute(
581+
text(
582+
"""
583+
SELECT count(1) FROM MINER_SCORES
584+
WHERE
585+
(MINER_PREDICTIONS_ID, PROMPT_SCORE, ID) IN (
586+
SELECT
587+
MINER_PREDICTIONS_ID,
588+
PROMPT_SCORE,
589+
ID
590+
FROM
591+
(
592+
SELECT
593+
*,
594+
ROW_NUMBER() OVER (
595+
PARTITION BY
596+
MINER_PREDICTIONS_ID
597+
ORDER BY
598+
SCORED_TIME DESC
599+
) AS RN
600+
FROM
601+
MINER_SCORES
602+
) T
603+
WHERE
604+
T.RN > 1
605+
)
606+
"""
607+
)
608+
)
609+
610+
bt.logging.debug(
611+
f"Number of miner_scores with duplicates on MINER_PREDICTIONS_ID by PROMPT_SCORE: {result.scalar()}"
612+
)
613+
614+
result = connection.execute(
615+
text(
616+
"""
617+
SELECT count(1) FROM MINER_SCORES
618+
WHERE
619+
(MINER_PREDICTIONS_ID, PROMPT_SCORE_V2, ID) IN (
620+
SELECT
621+
MINER_PREDICTIONS_ID,
622+
PROMPT_SCORE_V2,
623+
ID
624+
FROM
625+
(
626+
SELECT
627+
*,
628+
ROW_NUMBER() OVER (
629+
PARTITION BY
630+
MINER_PREDICTIONS_ID
631+
ORDER BY
632+
SCORED_TIME DESC
633+
) AS RN
634+
FROM
635+
MINER_SCORES
636+
) T
637+
WHERE
638+
T.RN > 1
639+
)
640+
"""
641+
)
642+
)
643+
644+
bt.logging.debug(
645+
f"Number of miner_scores with duplicates on MINER_PREDICTIONS_ID by PROMPT_SCORE_V2: {result.scalar()}"
646+
)
647+
648+
result = connection.execute(
649+
text(
650+
"""
651+
SELECT count(1) FROM MINER_SCORES
652+
WHERE
653+
(MINER_PREDICTIONS_ID, PROMPT_SCORE_V2, ID) IN (
654+
SELECT
655+
MINER_PREDICTIONS_ID,
656+
PROMPT_SCORE_V2,
657+
ID
658+
FROM
659+
(
660+
SELECT
661+
*,
662+
ROW_NUMBER() OVER (
663+
PARTITION BY
664+
MINER_PREDICTIONS_ID,
665+
PROMPT_SCORE_V2
666+
ORDER BY
667+
SCORED_TIME DESC
668+
) AS RN
669+
FROM
670+
MINER_SCORES
671+
) T
672+
WHERE
673+
T.RN > 1
674+
)
675+
"""
676+
)
677+
)
678+
679+
bt.logging.debug(
680+
f"Number of miner_scores with duplicates on (MINER_PREDICTIONS_ID, PROMPT_SCORE_V2): {result.scalar()}"
681+
)
682+
683+
except Exception as e:
684+
bt.logging.error(
685+
f"in print_miner_scores_duplicates (got an exception): {e}"
686+
)
687+
traceback.print_exc(file=sys.stderr)

0 commit comments

Comments
 (0)