Briefly, in presently vocalized Ashkenazic texts this word is written as רַבִּי, which is properly pronounced ra (rhymes with "ha")--bee (as in the thing that makes honey. Ra-bee. (In contrast with the English "ra-bye.")
However, in Sephardic texts it is written רִבִּי or רְבִּי, both of which sound roughly like "rib--ee."
Historically Ashkenazic texts also vocalized רִבִּי; the historical colloquial pronunciation seems to have been רֶבִּי --"rebb-ee" (or some variation, like רֶבֶּה "rebb-eh" or רֶבָּה "rebb-uh." In other words, when being grammatical (thus requiring vocalization) all texts had רִבִּי. The great Hebrew grammarian Elias Levita wrote that רִבִּי was correct.
The question is, why? Rby רבּי means "my master" (or "my rabbi," in later usage). רַב means "master" or "rabbi." So why רַב should become רִבִּי instead of רַבִּי is a bit of a mystery, particularly in view of the fact that in the New Testament רבּי is transliterated paBBi , which would seem correct! Indeed, as I have said (and will show) Ashkenazim too wrote רִבִּי even if they said רֶבִּי! Eventually the grammatical oddity was noticed and pedantic maskilische oysvorfs began
Here are a couple of randomly selected examples of old vocalized Ashkenazic texts which are identical with the Sephardic ones:
From a 1527 Prague Haggadah (all are courtesy of JNUL).
Lublin, 1610. Yes, that's Lublin. Poylin.
Sulzbach, 1755 (Bavaria). This is from the cradle of Ashkenaz, and it is from the lifetime of the Gra, R. Ya'akov of Emden, R. Yehonathan Eybeschuetz, the Noda Be-yehuda, R. Hayyim Volozhiner, the Ba'al Ha-tanya--all of the early modern rabbinic figures who presaged modern Orthodoxy.
Horodna, 1805. That's late.
Like most changes, you can practically date them, so long as there is a paper trail.
Finally (and I am not claiming this book is the first instance):
Roedelheim, 1822. Of course: Reb Wolf did it. (link)
figures. Look at him!
In any case, the question is why did Ashkenazim pronounce it Rebbe and not Ribbi? It would seem to be a normal sound shift following a typical pattern. Two examples: in Ashkenazic Hebrew מִדְרָשׁ is pronounced מֶדְרֶשׁ and סִדְרָא is pronounced סֶדְרָא (but always spelled correctly!). Following this pattern, spoken רִבִּי easily became spoken רֶבִּי.
On the other hand, in this regard I might mention the name שִׁמְשׁוֹן, which is to be read "Shimshon," (or "Samson" in English, following the Greek) but colloquially became שַׁמְשׁוֹן, "Shamshon" in Yiddish. Presumably this was not patterned on the German, as German Bibles have "Simson." (However, "Samson," evidently, is how the name is used in Germany.) In any case, we may or may not have an example of another /i/ to /a/ shift. That being the case, רִבִּי could as easily have become רַבִּי (or vice versa). Except that it didn't.
Perhaps the solution is that Septuagint שַׁמְשׁוֹן "Samson" was correct (in its time) and the same way it shifted to Simson שִׁמְשׁוֹן by the time written dots were invented, רַבִּי "rabbi" was the original form (as grammar would indicate) but it too shifted to רִבִּי. by the time vowels dots came into existence, thus all vocalized manuscripts show רִבִּי until it was corrected back to its conjectured original form.
One more: vanilla/ vanella.